sudo pip install Cython
sudo pip install easydict
git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git
cd py-faster-rcnn/lib
修改setup.py
文件第135行
'nvcc': ['-arch=sm_35',
根据自己的显卡计算能力进行修改,查询网址为:CUDA GPUs
例如我的电脑是GTX 1060, 计算能力为6.1,则修改为
'nvcc': ['-arch=sm_61',
保存后执行
make
进行编译.
cd ../caffe-faster-rcnn
进入caffe目录.
我是将自己之前的caffe的Makefile.config拷贝到了该目录下,也可以执行
cp Makefile.config.example Makefile.config
对Makefile.config
文件进行修改.
注意修改
USE_CUDNN := 1
WITH_PYTHON_LAYER := 1
USE_PKG_CONFIG := 1
这里需要注意一下,因为作者的caffe版本不支持新的cudnn加速,我们需要将
py-faster-rcnn/caffe-fast-rcnn/include/caffe/util/cudnn.hpp
py-faster-rcnn/caffe-fast-rcnn/src/caffe/util/cudnn.cpp
py-faster-rcnn/caffe-fast-rcnn/src/caffe/layers/ 目录下16个cudnn_开头的文件
py-faster-rcnn/caffe-fast-rcnn/include/caffe/layers/目录下8个cudnn_开头的文件
选择caffe-master版的文件进行替换,这样编译就不会出错啦.
修改
py-faster-rcnn/caffe-fast-rcnn/src/caffe/test/test_smooth_L1_loss_layer.cpp
删除第十一行
#include "caffe/vision_layers.hpp"
# compile Caffe modules
make -j8 all
make -j8 test
# run tests to ensure all the tests are passed
make runtest
# build pycaffe
make pycaffe
cd $FRCN_ROOT
./data/scripts/fetch_faster_rcnn_models.sh
cd $FRCN_ROOT
./tools/demo.py
然后就大功告成了.
如遇到 这个问题 make: *** [.build_release/src/caffe/layers/hdf5_output_layer.o] Error 1
修改Makefile.config需要修改的内容:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial