faster-rcnn代码调试(MATLAB版)

入深度学习的个坑也有一段时间了,觉得有必要把自己学习过程的一些心得记录下来,使同伴们少走弯路。
faster-rcnn是目前检测算法中的非常热门的方向,学习Deep learning第一步就是要让程序跑起来。文章作者给出了两个版本的代码,分别是python版和matlab版本,Python版本代码调试难度不大,caffe版本和cudnn加速算法的版本对代码没有影响,目前来说都可以很容易的调试出来。MATLAB版本的代码因为cudnn版本的缘故,在编译caffe时会报错。

NVCC src/caffe/layers/cudnn_conv_layer.cu
src/caffe/layers/cudnn_conv_layer.cu(81): error: argument of type "cudnnAddMode_t" is incompatible with parameter of type "const void *"detected during instantiation of "void caffe::CuDNNConvolutionLayer<Dtype>::Forward_gpu(conststd::vector<caffe::Blob<Dtype> *,std::allocator<caffe::Blob<Dtype> *>> &, conststd::vector<caffe::Blob<Dtype> *,std::allocator<caffe::Blob<Dtype> *>> &) [with Dtype=float]"(157): here 

这是因为cuDNN版本不匹配的缘故,所以在工程make的时候,会报上文中的错误。 解决这个问题的方法就是更改cuDNN版本,将它改为V2版:
下载v2版本,解压后,在终端进入所在文件夹下

$ sudo cp include/cudnn.h /usr/local/include
$ sudo cp lib64/libcudnn.* /usr/local/lib
$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5.48 /usr/local/lib/libcudnn.so.6.5
$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5 /usr/local/lib/libcudnn.so
$ sudo ldconfig -v

做好这些以后记得在caffe目录下make clean,然后再从新编译即可。

你可能感兴趣的:(caffe)