Ubuntu16.04+cuda 8+cuddn6+tensorflow faster rcnn+环境配置+遇到的问题

配置了两天,终于跑通了tensorflow版本的faster rcnn的demo,现记录如下:

1.安装虚拟环境

创建一个XT_FRcnn的python2.7的虚拟环境

conda create -n XT_FRcnn python=2.7

进入此虚拟环境

source activate XT_FRcnn

备注:

a. 如果需要退出此虚拟系统,执行以下命令

source deactivate

b. 在虚拟环境中安装的东西会放在此根目录下/home/USERNAME/.conda/envs/XT_FRcnn(创建的虚拟环境名字)

2.查看cuda版本

cat /usr/local/cuda/version.txt

3.查看cuddn版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

根据cuda 和 cudnn版本,到tensorflow 的官网上查对应的TF版本。我的cuda是8.0,cudnn是6的,找到对应的TF版本:

Linux

Version:

CPU/GPU:

Python Version:

Compiler:

Build Tools:

cuDNN:

CUDA:

tensorflow-1.6.0

CPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.9.0

N/A

N/A

tensorflow_gpu-1.6.0

GPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.9.0

7

9

tensorflow-1.5.0

CPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.8.0

N/A

N/A

tensorflow_gpu-1.5.0

GPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.8.0

7

9

tensorflow-1.4.0

CPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.5.4

N/A

N/A

tensorflow_gpu-1.4.0

GPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.5.4

6

8

tensorflow-1.3.0

CPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.4.5

N/A

N/A

tensorflow_gpu-1.3.0

GPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.4.5

6

8

tensorflow-1.2.0

CPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.4.5

N/A

N/A

tensorflow_gpu-1.2.0

GPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.4.5

5.1

8

tensorflow-1.1.0

CPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.4.2

N/A

N/A

tensorflow_gpu-1.1.0

GPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.4.2

5.1

8

tensorflow-1.0.0

CPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.4.2

N/A

N/A

tensorflow_gpu-1.0.0

GPU

2.7, 3.3-3.6

GCC 4.8

Bazel 0.4.2

5.1

8

4.安装TensorFlow

1) 执行如下命令,搜索适合的安装地址(注意要装gpu;我这里装的是tensorflow1.4.1)

anaconda search -t conda tensorflow

2) 然后执行如下命令:

anaconda show cjj3779/tensorflow-gpu  (anaconda+show+搜索到的TensorFlow安装名)

3) 根据命令行提示,执行如下命令:

conda install --channel https://conda.anaconda.org/cjj3779 tensorflow-gpu

4) 验证安装结果,执行如下命令:

conda list

然后可以运行python代码,验证TensorFlow安装成功与否。

5.安装其他依赖包

还需要安装一些依赖包:cython, opencv-python,easydict

安装cython

conda install cython

安装opencv-python

(不能直接用 conda install opencv-python)

而且也没有linux平台下的

所以需要使用命令:

conda install -c menpo opencv3=3.1.0  (若环境是py3.5的,则会自动识别装3.1.0-py3.5的)

安装 easydict

同理,不能用condainstall easydict=1.6

使用命令anaconda search-t conda easydict 查找版本

使用命令 anaconda show verydeep/easydict 查找安装地址

使用命令 conda install --channel https://conda.anaconda.org/verydeepeasydict  安装

5.下载Faster-rcnn代码

git源代码:git clone --recursive https://github.com/smallcorgi/Faster-RCNN_TF.git。

然后进入Fater-RCNN/lib目录,执行make,正常情况下,会在roi_pooling_layer和utils目录下面生成.so文件,然后下载模型,再执行python tools/demo.py --model model_path,就可以进行目标检测了。(不过这一步一般会出各种问题,问题记录在第6点,折腾了好久。。)

6.遇到的问题

(1)fatal error: nsync_cv.h: No such file or directory

这个问题查了好久,详见链接:https://blog.csdn.net/a694262054/article/details/79645093

(2)could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

删除家目录下面的隐藏文件夹 .nv 即可。sudo rm -rf ~/.nv

(3)缺少yaml库

在建立的虚拟环境中输入命令conda install pyyaml,然后按照提示安装就行

(4)tensorflow.python.framework.errors_impl.InternalError: Failed to create session

这个问题网上都说,没有打开GPU或者显存不够等,但是我明明都打开了对应的GPU,并且显存足够,也还是报错,后来换了个版本的tensorflow重新配置,就没有这个问题了。(不是很清楚~,欢迎赐教!)

(5) 7103 (compatibility version 7100) but source was compiled with 7005 (compatibility version 7000).  If using a binary install, upgrade your CuDNN library to match.  If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.
2018-09-10 14:20:17.769090: F tensorflow/core/kernels/conv_ops.cc:667] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)

这个是cuddn版本不匹配的问题,通过navigator换了个版本的cuddn,错误消失,运行成功

7.demo运行结果

Loaded network /home/lab1008/Faster-RCNN_TF/VGGnet_fast_rcnn_iter_70000.ckpt
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/000456.jpg
Detection took 0.260s for 300 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/000542.jpg
Detection took 0.058s for 261 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/001150.jpg
Detection took 0.053s for 242 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/001763.jpg
Detection took 0.060s for 260 object proposals
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Demo for data/demo/004545.jpg
Detection took 0.055s for 300 object proposals

如有问题,不慎赐教!

参考的博客:https://blog.csdn.net/Angela_qin/article/details/80921688

猜你喜欢

转载自blog.csdn.net/zidaoziyande/article/details/82588464