本文主要讲解Faster-RCNN的配置过程,以及配置过程中遇到问题的解决方案。
1. 下载工程
git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git
代码存放的位置,以及文件中包含的东西,如下图所示:
2. 编译caffe
cd /home/wdong/code/py-faster-rcnn/caffe-fast-rcnn
cp Makefile.config.example Makefile.config
sudo gedit Makefile.config
将USE_CUDNN := 1前边的注释取消 , 如下:
将WITH_PYTHON_LAYER := 1前边的注释取消 , 如下:
在INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 后添加 /usr/include/hdf5/serial,如下:
make -j4 && make pycaffe
会发现报错,报错如下:
主要是因为我使用的是CUDNN5.1版本,该版本不支持py-faster-rcnn,这里给出一种解决方案:
之前我们安装的caffe的目录是 /home/wdong/caffe 替换目录 /home/wdong/code/py-faster-rcnn/caffe-fast-rcnn 中对应的文件:
include/caffe/layers/cudnn_relu_layer.hpp,
src/caffe/layers/cudnn_relu_layer.cpp,
src/caffe/layers/cudnn_relu_layer.cuinclude/caffe/layers/cudnn_sigmoid_layer.hpp,
src/caffe/layers/cudnn_sigmoid_layer.cpp,
src/caffe/layers/cudnn_sigmoid_layer.cuinclude/caffe/layers/cudnn_tanh_layer.hpp,
src/caffe/layers/cudnn_tanh_layer.cpp,
src/caffe/layers/cudnn_tanh_layer.cuinclude/caffe/util/cudnn.hpp
cd /home/wdong/code/py-faster-rcnn/caffe-fast-rcnn/src/caffe/layers
sudo gedit cudnn_conv_layer.cu#将 cudnnConvolutionBackwardData_v3 修改为 cudnnConvolutionBackwardData
#将 cudnnConvolutionBackwardFilter_v3 修改为 cudnnConvolutionBackwardFilter
重新make
make clean
make -j4
make pycaffe
3. 下载faster_rcnn_models 和 imagenet_models
链接:https://pan.baidu.com/s/1dKkYZwuEJ6cYHIr9FwMw5A
提取码:zb6y
拷贝到 /home/wdong/code/py-faster-rcnn/data/ 目录下
tar -xvf faster_rcnn_models.tgz
4. 运行demo.py
此处需要注意你的硬件情况,官方的给的要求如下:
考虑到本机配置的GPU为 1060,显存只有6G,故 这里只能调用 ZF_faster_rcnn_final.caffemodel,如果调用VGG16会报错。
在终端进行,输入:
./tools/demo.py --net zf
发现报错,报错如下:
产生bug的原因,没有切换权限,解决方案:
sudo ./tools/demo.py --net zf
运行结果如下: