Ubuntu14.04+CUDA8.0+cuDNN-v5.0+py_faster_rcnn实现

来源:互联网 发布:手机淘宝几天到货 编辑:程序博客网 时间:2024/05/16 10:44

环境:Ubuntu14.04.4 LTS + CUDA-8.0 + cuDNN-v5.0

CUDA和cuDNN安装参照我之前的博客

深度学习平台Caffe环境搭建【GPU版】

下面介绍具体实现步骤

安装相关的依赖库

sudo apt-get install python-opencvsudo pip install cython easydict

1.下载py-faster-rcnn源码

git clone --recursive https://github.com/rbgirshick/py-faster-rcnn

2.编译lib库

cd $FRCN_ROOT/libmake

3.编译caffe以及pycaffe

修改Makefile.config文件

删除下面两项前面的#

USE_CUDNN := 1WITH_PYTHON_LAYER := 1

因为faster-rcnn使用的caffe版本比较老,不支持CUDA-8.0和cuDNN-v5.0,所以需要对于caffe进行更新。

对于刚刚接触Linux的童鞋不建议使用git命令更新,因为合并过程中可能会碰到各种Conflict。尤其是在使用git merge的过程中。

这里给出通过更换文件更新caffe的办法。

用最新caffe源码的以下文件替换掉faster-rcnn的对应文件
include/caffe/layers/cudnn_relu_layer.hpp, src/caffe/layers/cudnn_relu_layer.cpp, src/caffe/layers/cudnn_relu_layer.cu

include/caffe/layers/cudnn_sigmoid_layer.hpp, src/caffe/layers/cudnn_sigmoid_layer.cpp, src/caffe/layers/cudnn_sigmoid_layer.cu

include/caffe/layers/cudnn_tanh_layer.hpp, src/caffe/layers/cudnn_tanh_layer.cpp, src/caffe/layers/cudnn_tanh_layer.cu

用caffe源码中的这个文件替换掉faster-rcnn对应文件
include/caffe/util/cudnn.hpp

将faster-rcnn中的src/caffe/layers/cudnn_conv_layer.cu文件中的所有
cudnnConvolutionBackwardData_v3 函数名替换为 cudnnConvolutionBackwardData
cudnnConvolutionBackwardFilter_v3 函数名替换为 cudnnConvolutionBackwardFilter

完成之后编译

make -j4make pycaffe

完美通过。

接着运行demo

cd $py-faster-rcnnpython ./tools/demo.py

会提示你没有模型文件

模型文件下载地址faster_rcnn_models

下载完成之后解压到data目录下

再次运行demo.py。

可能会提示你:SystemError: NULL result without error in PyObject_Call

解决办法:安装yaml

sudo apt-get install python-yaml

demo运行截图


参考文章

http://blog.csdn.net/u012177034/article/details/52288835

http://blog.csdn.net/u013832707/article/details/53501478

http://www.cnblogs.com/zjutzz/p/6099720.html

1 0
原创粉丝点击