Data: 2016.12.19
Author: cjh
Theme: Set up the
faster-rcnnenvironment
由于R-FCN运行内存较大,TX1貌似性能不够,又在开发板上尝试faster-rcnn,这个遇到的问题相对比较多,废话不多说,直接上过程
步骤1:下载源码
git clone --recursive
https://github.com/rbgirshick/py-faster-rcnn.git
由于原版py-faster-rcnn依赖的caffe比较老,不支持cudnnv5,那就更新下对应的源码,笔者在网上找到了两种解决方法
cd py-faster-rcnn
方法1:
cd caffe-fast-rcnn
git remote add caffehttps://github.com/BVLC/caffe.git
git fetch caffe
git merge caffe/master
网上很多人都是用这种方法,但是笔者使用该方法失败了,在merge的过程中出现了,
* Pleasetell me who you are.
Run
git config --global user.email"you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.Omit --global to set the identity only in this repository.
fatal: empty ident not allowed
出现上述问题按照提示输入自己的邮箱和用户名就可以了
配置完成后我继续执行git merge caffe/master
又出现LICENSE conflict的问题
此过程我找不到解决的办法,直接对其进行编译,最终也报错了
python/caffe/_caffe.cpp:error: expectedprimary-expression before…后面还一堆具体记不住了,还有什么master,还有一个函数叫void caffe::…,到时候出现同样问题可截图我看看
最终我实在解决不了,就用了网上第二种方法。
方法2:
用最新caffe源码的以下文件替换掉faster rcnn 的对应文件
用最新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
该方法很完美
步骤3:编译
cp Makefile.config.example Makefile.config
vim Makefile.config #修改配置文件
USE_CUDNN := 1
CUDA_DIR := /usr/local/cuda-8.0
WITH_PYTHON_LAYER := 1
INCLUDE_DIRS :=$(PYTHON_INCLUDE)/usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB)/usr/local/lib/usr/lib /usr/lib/aarch64-linux-gnu/hdf5/serial
退出并保存
cd py-faster-rcnn/lib
make
cd py-faster-rcnn/lib /caffe-fast-rcnn
make -j8 && make pycaffe
步骤4:测试
下载预训练模型
cd py-faster-rcnn
./data/scripts/fetch_faster_rcnn_models.sh
由于开发板上下载这个太慢了,笔者也是在windows上下载的
http://www.cs.berkeley.edu/~rbg/faster-rcnn-data/faster_rcnn_models.tgz
最后把预训练模型解压到
py-faster-rcnndatafaster_rcnn_models
目录
cd py-faster-rcnn/tools
./demo.py
测试结果图片我也不放了,值得一说的是,最终测试好的图片也会自己跳出来打开的,若没有打开说明你的opencv是有问题的吧
最后欢迎大家一起交流