git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git
2.安装包环境
sudo pip install cython
3.修改setup.py
cd /py-faster-rcnn/lib
修改setup.py文件,注释掉GPU相关代码,如下:
#CUDA = locate_cuda()
#self.set_executable('compiler_so', CUDA['nvcc'])
# Extension('nms.gpu_nms',
['nms/nms_kernel.cu', 'nms/gpu_nms.pyx'],
library_dirs=[CUDA['lib64']],
libraries=['cudart'],
language='c++',
runtime_library_dirs=[CUDA['lib64']],
# this syntax is specific to this build system
# we're only going to use certain compiler args with nvcc and not with
# gcc the implementation of this trick is in customize_compiler() below
extra_compile_args={'gcc': ["-Wno-unused-function"],
'nvcc': ['-arch=sm_35','--ptxas-options=-v','-c','--compiler-options',"'-fPIC'"]},
include_dirs = [numpy_include, CUDA['include']]
),
setup.py修改完成后,执行make
4.修改Makefile.config配置文件
cd caffe-fast-rcnn
cp Makefile.config.example Makefile.config
去掉CPU_ONLY :=1的注释
注释掉CUDA有关的行:
#CUDA_DIR := /usr/local/cuda
#CUDA_DIR := /usr
#CUDA_ARCH := ....
#TEST_GPUID := 0
去掉WITH_PYTHON_LAYER := 1的注释
还得按照安装CAFFE的步骤进行修改 ---- 重要 修改目录,详见我的博客 安装CAFFE
编译:
make all
make test
make pycaffe
5 下载Faster RCNN检测器
cd $py-faster-rcnn
./data/scripts/fetch_faster_rcnn_models.sh
注:这个过程可能会很长时间,可以在迅雷中下载后COPY到相应的 data目录下
6.安装easydict
sudo pip install easydict
以防止出现错误:ImportError: No module named easydict
7.安装opencv
可以参考下面链接
https://my.oschina.net/u/1757926/blog/293976
A.下载
http://jaist.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.9/opencv-2.4.9.zip
B. 解压到任意目录
unzip opencv-2.4.9.zip
C. 进入源码目录,创建release目录
cd opencv-2.4.9
mkdir release
D. 可以看到在OpenCV目录下,有个CMakeLists.txt文件,需要事先安装一些软件
sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
E. 进入release目录,安装OpenCV是所有的文件都会被放到这个release目录下
cd release
F. cmake编译OpenCV源码,安装所有的lib文件都会被安装到/usr/local目录下
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
G. 安装
sudo make install
8.注释掉
在文件../lib/fast_rcnn/nms_wrapper.py中注释掉:
:#from nms.gpu_nms import gpu_nms
因为是CPU模式
9. 解压 faster_rcnn_models.tgz
10.运行,一定得带CPU
./tools/demo.py --cpu
./tools/demo.py --net zf --cpu
注:--net zf 使用zf小网络,默认是vgg16大网络
-h 使用帮助
注意:可能还会出现其他问题,可以再参考互联网上的资料。另外,在虚拟机下面跑,可能由于内存太小,中断。
安装过程中,都是坑啊,都是泪,整理成文档以方便后来者。