一、拉取源码


下载 fast-rcnn

因下载解压后 caffe-fast-rcnn是空文件夹,故需要单独下
caffe-fast-rcnn-bcd9b4eadc7d8fbc433aeefd564e82ec63aaf69c.zip

unzip caffe-fast-rcnn-bcd9b4eadc7d8fbc433aeefd564e82ec63aaf69c.zip
cp ./caffe-fast-rcnn-bcd9b4eadc7d8fbc433aeefd564e82ec63aaf69c/ /home/cmwang/fast-rcnn-master/caffe-fast-rcnn/

二、copy缺失文件夹


因编译中出现缺失layer的问题,故需要copy缺失文件夹layers(caffe-fast-rcnn/include/caffe/ 无 layers文件夹)

可直接从caffe-master中copy或者从

cp /home/cmwang/caffe-master/include/caffe/layers/ /home/cmwang/fast-rcnn-master/caffe-fast-rcnn/include/caffe/layers/或者
cp /home/cmwang/py-faster-rcnn/caffe-fast-rcnn/include/caffe/layers/ /home/cmwang/fast-rcnn-master/caffe-fast-rcnn/include/caffe/layers/

三、修改Makefile文件


终端输入

cd /home/cmwang/fast-rcnn-master/caffe-fast-rcnn/
cp Makefile.config.example Makefile.config #备份Makefile
gedit Makefile.config

使用Python层
将# WITH_PYTHON_LAYER := 1修改为 WITH_PYTHON_LAYER := 1

调用matlab
将#MATLAB_DIR := / usr/local/MATLAB/R2015b 中的#去掉。

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

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

四、编译Cython模块


终端输入

cd ~/caffe-fast-rcnn/lib/
make

五、编译caffe和pycaffe & matcaffe


终端输入

cd ~/caffe-fast-rcnn/caffe-fast-rcnn/
make -j8 && make pycaffe && make matcaffe

六、下载模型


终端输入

cd ~/caffe-fast-rcnn/./data/scripts/fetch_faste_rcnn_models.sh 

七、Demo测试


终端输入

cd ~/caffe-fast-rcnn/./tools/demo.py

出现的问题1

caffe —找不到lhdf5_hl和lhdf5的错误

解决方法:

cd
gedit Makefile.config

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

修改为

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

这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径

建立软连接

cd /usr/lib/x86_64-linux-gnu
sudo ln -s libhdf5_serial.so.8 libhdf5.so
sudo ln -s libhdf5_serial_hl.so.8.0.2 libhdf5_hl.so

出现的问题2

When use fast R-CNN, got error like this:

I0310 08:26:43.672577 144950 net.cpp:340] Input 0 -> data
I0310 08:26:43.672601 144950 net.cpp:340] Input 1 -> rois
I0310 08:26:43.672621 144950 layer_factory.hpp:74] Creating layer conv1
I0310 08:26:43.672639 144950 net.cpp:84] Creating Layer conv1
I0310 08:26:43.672650 144950 net.cpp:380] conv1 <- data
I0310 08:26:43.672664 144950 net.cpp:338] conv1 -> conv1
I0310 08:26:43.672680 144950 net.cpp:113] Setting up conv1
Floating point exception(core dumped).

解决方案

gedit lib/fast_rcnn/train.py

添加 filter_roidb 范围,示范如下

def filter_roidb(roidb):"""Remove roidb entries that have no usable RoIs."""def is_valid(entry):# Valid images have:#   (1) At least one foreground RoI OR#   (2) At least one background RoIoverlaps = entry['max_overlaps']# find boxes with sufficient overlapfg_inds = np.where(overlaps >= cfg.TRAIN.FG_THRESH)[0]# Select background RoIs as those within [BG_THRESH_LO, BG_THRESH_HI)bg_inds = np.where((overlaps < cfg.TRAIN.BG_THRESH_HI) &(overlaps >= cfg.TRAIN.BG_THRESH_LO))[0]# image is only valid if such boxes existvalid = len(fg_inds) > 0 or len(bg_inds) > 0return validnum = len(roidb)filtered_roidb = [entry for entry in roidb if is_valid(entry)]num_after = len(filtered_roidb)print 'Filtered {} roidb entries: {} -> {}'.format(num - num_after,num, num_after)return filtered_roidb

It’s like something about box size. the solution is add filter_roidb function in lib/fast_rcnn/train.py file, like here.
Reference: https://github.com/rbgirshick/py-faster-rcnn/issues/159

其他的相关问题可参考
Faster R-CNN的安装及测试中常出现问题部分。


参考文献

caffe —找不到lhdf5_hl和lhdf5的错误

fast-rcnn github

fast-rcnn caffe-fast-rcnn

安装和运行Fast R-CNN的demo

caffe compilation troubleshooting

Faste R-CNN的安装及测试相关推荐

  1. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接...

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径"C:\Soft\mysql-5.6.24-winx64" ...

  2. 安装并测试nvenc linux sdk

    2019独角兽企业重金招聘Python工程师标准>>> nvidia在cuda之后推出一种官方生成更好视频处理技术nvenc. 网上相关资料很少, 也不知道这个东西到底怎么样,自己测 ...

  3. Faster R-CNN的安装及测试(Python版本和Matlab版本)

    rbg的Python版本 一.拉取源码 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 拉取完成后,在/h ...

  4. Window10 NVIDIA显卡 Tensorflow 2.1 GPU 安装和测试

    Window10 NVIDIA显卡 Tensorflow 2.1 GPU 安装和测试 1. 硬件要求 支持以下带有 GPU 的设备: CUDA® 计算能力为 3.5 或更高的 NVIDIA® GPU ...

  5. R语言Tensorflow安装

    R语言Tensorflow安装 引言 安装过程 引言 今天看到了阿丘图尼·斯里·克里希纳·拉奥著作的一本深度学习书,在R里面用到了Tensorflow..虽然网上有很多博客分享Tensorflow安装 ...

  6. 【PaddleOCR】一、PaddleOCR安装、测试(Win10)

    目录 一.创建虚拟环境 二.下载PaddleOCR 三.安装Paddlepaddle 四.安装shapely 五.pip其他依赖包 六.下载推理模型 七.测试 7.1.测试det 7.2.测试rec ...

  7. ElasticSearch 中文分词器ik的安装、测试、使用、自定义词库、热更新词库

    文章目录 # 实验环境 # ik分词器的下载.安装.测试 ## 安装方法一:使用elasticsearch-plugin 安装 ## 安装方法二:下载编译好的包进行安装 1.下载 2.安装 3.重启` ...

  8. R语言Bioconductor安装全流程

    R语言Bioconductor安装全流程 作为一只生物狗,R语言对于生物数据分析真的很重要!如果你翻翻生物专业研究生的朋友圈,你的感觉一定是: 满世界都在学R语言: 满世界都在吐槽R包难装! 下面给大 ...

  9. ubuntu16.04+nvidia gt740m+cuda7.5+caffe安装、测试经历

    首先说明,这是在笔记本上的安装测试经历,首先安装的win10,然后安装ubuntu16.04双系统,显卡为nvidia gt740m win10上没有装nvidia gt740m驱动,也就是用的集显, ...

最新文章

  1. (C++)输入输出字符矩阵(二维字符数组)的三种方法
  2. asp网络编程:用ASP打开远端MDB文件的方法
  3. 互联网协议 — BGP 边界网关协议 — Router(路由器)
  4. 1854: zbj的可乐(思维题)
  5. 浅谈专有云MQ存储空间的清理机制
  6. oracle存储过程隐式函数,Oracle存储过程,函数。
  7. python中在同一个位置输出数据
  8. dblink查询_分库数据如何查询统计
  9. oracle死锁优化,Oracle性能优化之LockContention(转)
  10. C/C++ 去掉字符串首位的空格字符
  11. 【C++ STL】深入解析神秘的 --- 仿函数
  12. “模板”学习笔记(7)-----数组模板+对象数组举例
  13. libevent的两个服务端、客户端示例(C语言)
  14. 通过分析词性进行人名、地名、组织的替换,生成新的狗屁不通文章
  15. PPT画四分之一圆或扇形
  16. MTK芯片资料分享,2018MTK芯片资料大全
  17. icon小图标的使用
  18. 免费语音转文字的软件有哪些?快来看看这几个软件
  19. ISP PIPLINE(零) 知识综述预热
  20. OCR证件识别技术的功能特点

热门文章

  1. linux赋权限命令chmod给其他用户,Linux 基础基础——权限管理命令chmod
  2. java菜单如何点解_【Java】详解菜单组件
  3. java10.0.1怎么安装_关于tomcat:您使用哪个Java? 在Server 2016上安装JDK和JRE(10.0.1); 设置JAVA_HOME和路径...
  4. win10桌面倒计时插件_win10 桌面如何做到清爽好看?这篇教程给你答案
  5. php怎么关闭全部进程,怎么关闭swoole进程
  6. [蓝桥杯][算法提高VIP]密码锁(BFS)
  7. Permutation Partitions CodeForces - 1326C(组合数学+思维)
  8. so easy(2019徐州icpc网络赛B)
  9. mysql binlog rotate_binlog rotate引发的MySQL阻塞事件
  10. linux把硬盘当内存,把内存当硬盘使,让你的linux程序运转如飞(在linux下用firefox在线写csdn的blog再也不卡了)...