Faster R-CNN的安装、测试经历

首先说明,该篇博客是在ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历这篇博客基础上进行faster r-cnn安装的,使用GPU进行测试;且需要安装以下内容,前篇博客已经介绍清楚,这里不再赘述。

nvidia gt740m驱动版本为361.42

cuda版本为cuda_7.5.18_linux.run

cudnn版本为cudnn-7.5-linux-x64-v5.1.tgz


打个广告:目前博主正在字节跳动奋斗,欢迎各位一起来共事
【内推码】:HVWUV6Y
【投递地址】:https://job.bytedance.com/

废话不多说,上车吧,少年

一、拉取源码

  1. 终端输入
    git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git

拉取完成后,在/home/pawn/目录下增加了py-faster-rcnn文件夹【pawn是我的ubuntu用户名】



二、安装依赖
  1. 终端输入
    sudo apt-get install python-opencv

sudo pip install cython easydict



三、修改Makefile文件
  1. 终端输入
    cd /home/pawn/py-faster-rcnn/caffe-fast-rcnn/
    cp Makefile.config.example Makefile.config #备份Makefile
    gedit Makefile.config

  2. 使用python层
    # WITH_PYTHON_LAYER := 1修改为 WITH_PYTHON_LAYER := 1

  3. 使用cudnn加速
    # USE_CUDNN := 1修改为USE_CUDNN := 1

  4. 保留# CPU_ONLY := 1不变,使用GPU运行faster r-cnn



四、编译Cython模块
  1. 终端输入
    cd ~/py-faster-rcnn/lib/

make



五、编译caffe
  1. 终端输入
    cd ~/py-faster-rcnn/caffe-fast-rcnn/
    make -j4
    出现图示错误
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CL58m0S6-1592371390857)(https://img-blog.csdn.net/20161007210002489)]


    这是由于当前版本的caffe中cudnn实现与系统所安装的cudnn的版本不一致引起,rbgirshick的py-faster-rcnn其cudnn实现为旧版本的实现,所有出现了以上问题。

cudnn-7.0-linux-x64-v4.0-prod.tgz不会出现此问题
cudnn-7.5-linux-x64-v5.1.tgz会出现同样问题
cudnn-8.0-linux-x64-v5.1.tgz会出现同样问题

解决办法:
①将/home/pawn/py-faster-rcnn/caffe-fast-rcnn/include/caffe/util/cudnn.hpp 换成最新版caffe里的相应目录下的cudnn.hpp;

②将/home/pawn/py-faster-rcnn/caffe-fast-rcnn/include/caffe/layers/下所有cudnn开头的文件都替换为最新版caffe里相应目录下的同名文件;

③将/home/pawn/py-faster-rcnn/caffe-fast-rcnn/src/caffe/layer下所有cudnn开头的文件都替换为最新版caffe里相应目录下的同名文件;

  1. 终端输入
    make clean #清除前一次编译结果
    make -j4
    出现图示错误
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N6pSVGBa-1592371390859)(https://img-blog.csdn.net/20161007211454950)]


    出现找不到hdf5.h错误;

解决办法:终端输入
cd /home/pawn/py-faster-rcnn/caffe-fast-rcnn/
gedit Makefile.config
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 后面打上一个空格,然后添加/usr/include/hdf5/serial,如果没有这一句可能会报一个找不到hdf5.h的错误;

  1. 终端输入
    cd ~/py-faster-rcnn/caffe-fast-rcnn/
    make clean #清除前一次编译结果
    make -j4
    出现图示错误
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LBo4P0lR-1592371390861)(https://img-blog.csdn.net/20161007212409132)]


    这是由于gcc编译器版本太新引起;

解决办法:终端输入
cd /home/pawn/py-faster-rcnn/caffe-fast-rcnn/
gedit Makefile
CTRL+F输入NVCCFLAGS += -c 回车,定位到该行
修改
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
保存后关闭Makefile.config;

  1. 终端输入
    cd ~/py-faster-rcnn/caffe-fast-rcnn/
    make clean #清除前一次编译结果
    make -j4
    成功编译caffe;


六、编译pycaffe
  1. 终端输入
    cd ~/py-faster-rcnn/caffe-fast-rcnn/

make pycaffe



七、下载模型
  1. 终端输入
    cd ~/py-faster-rcnn/

./data/scripts/fetch_faster_rcnn_models.sh
等待将近一小时…



八、faster r-cnn测试
  1. 终端输入
    cd ~/py-faster-rcnn/
    ./tools/demo.py
    出现图示错误
    这里写图片描述


    未安装python-tk包引起;

解决办法:终端输入
sudo apt-get install python-tk

  1. 终端输入
    cd ~/py-faster-rcnn/
    ./tools/demo.py
    出现图示错误
    这里写图片描述


    运行结果显示显存不足,这是由于demo.py中默认使用较大的VGG16网络,而我的gt740m显卡只有2G,只能采用ZF网络实现demo,现有两种解决方法:

①终端输入
cd ~/py-faster-rcnn/tools/
gedit demo.py
CTRL+F输入default='vgg16' 回车,定位到该行
default='vgg16'修改为default='zf' #默认使用ZF网络
终端输入
cd ~/py-faster-rcnn/
./tools/demo.py
运行demo;

② 终端输入
cd ~/py-faster-rcnn/
./tools/demo.py --net zf #运行时给参数选择ZF网络
运行demo;

  1. demo结果一共有11张检测结果图,首尾分别是:
    这里写图片描述


    这里写图片描述
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值