基于Jetson TX1的faster-rcnn的算法搭建

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-rcnn\data\faster_rcnn_models

目录

 

cd py-faster-rcnn/tools

./demo.py

 

测试结果图片我也不放了,值得一说的是,最终测试好的图片也会自己跳出来打开的,若没有打开说明你的opencv是有问题的吧

 

最后欢迎大家一起交流

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值