faster-rcnn分为matlab版本和python版本,首先记录弄python版本的环境搭建过程.matlab版本见另一篇:faster-rcnn(testing): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+opencv3.0+matlabR2014a环境搭建记录

首先,进入官方github网站:https://github.com/rbgirshick/py-faster-rcnn.按照作者的步骤,一步步往下走.

1.按Ctrl+Alt+t进入终端,进入你想存放源代码的路径后(在此假设为dir:A),输入:

git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git

--recursive大概是递归克隆的意思,就是把源码中的文件夹,文件夹下的子文件夹等等全部克隆过来.最后在当前目录下得到一个叫py-faster-rcnn的文件夹,即A/py-faster-rcnn.

2.作者接下来的意思是进入lib,输入make来"Build the Cython modules".但是我当时没看到这一步,直接进的下一步,事实证明,后面再做这一步也可以.请继续往下看.

进入caffe-fast-rcnn,这时,需要编译作者自己写的caffe.而这就要求电脑的环境配置了.

条件:

  2.1 python2.7及各种需要的库,如numpy等,这些库如果不装夜可以按照编译报错时的提示一一安装.

  2.2 cuda7.5和cudnn5.1.3.cuda是电脑早就装好的,cudnn我是按最新的装,反正没错.这里有篇不错的教程:http://blog.csdn.net/ubunfans/article/details/47724341.写得非常好.

  需要注意的是跑matlab版本时gcc降级为4.7,而此时的python版本为4.9.gcc的版本按照该网站修改,归根结底是修改系统gcc和g++文件的链接路径:http://www.cnblogs.com/loveidea/p/4384837.html

  2.3 opencv3是在跑matlab版本的时候装的,不知道python版本是不是也要求,装的过程也有一些注意事项,具体请看matlab部分.

3.我们已在A/python-faster-rcnn/caffe-fast-rcnn下,发现没有Makefile.config文件,这时就要把当时电脑编译caffe时的config文件拷过来了,按照自己的情况进行修改.我的config文件重点部分如下:

USE_CUDNN := 1
OPENCV_VERSION := 3
CUDA_DIR := /usr/local/cudaANACONDA_HOME := $(HOME)/anaconda2
PYTHON_INCLUDE := $(ANACONDA_HOME)/include \$(ANACONDA_HOME)/include/python2.7 \$(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include \
PYTHON_LIB := $(ANACONDA_HOME)/libWITH_PYTHON_LAYER := 1
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
BUILD_DIR := build
DISTRIBUTE_DIR := distribute

4.好了,开始输入:

make clean #这个是把以前的遇到错误的make记录清除了,第一次make的时候不需要输,问题是之后我遇到了很多错误.
make -j8 #这是出问题最多的地方
make pycaffe

当上面的命令非常成功地不出现错误的时候,congratulations,你离成功已经很近了.假设你已经走到了这一步(问题在下面讨论),接下来是:

5.作者的步骤如下,不过我是输入该.sh下的网址:http://www.cs.berkeley.edu/%7Erbg/faster-rcnn-data/faster_rcnn_models.tgz直接下载的,linux的火狐浏览器貌似打不开此网址,我是在另外一台windows的浏览器上下载的.下载完之后解压放入A/python-faster-rcnn/data.

cd $FRCN_ROOT
./data/scripts/fetch_faster_rcnn_models.sh

6.这时,该进入lib,输入make来"Build the Cython modules".如果到这了还不执行这一步后面会发生一些奇怪的事情.特此告知.

cd python-faster-rcnn/lb
make

7.

cd python-faster-rcnn
./tools/demo.py

大功告成:

问题汇总:以下列举出整个过程我遇到的一些问题,因为当时没总结,有些可能忘了.非严格按照时间顺序.

1.

/util/cudnn.hpp:127:41: error: too few arguments to function ‘cudnnStatus_t cudnnSetPooling2dDescriptor(cudnnPoolingDescriptor_t, cudnnPoolingMode_t, cudnnNanPropagation_t, int, int, int, int, int, int)’  pad_h, pad_w, stride_h, stride_w));  

这是由于cudnn和caffe版本不兼容造成的,具体有两种解决思路.第一种是降低cudnn版本,比如我降到了cudnnv3.0,结果出现了另外一些低版本的问题,报错说某些层未定义.另一种思路是提高caffe的版本,因为作者github上的caffe未能"及时升级".具体请参照这一篇神奇的博客:http://blog.csdn.net/rzjmpb/article/details/52373012

大意如下:

cd py-faster-rcnn/caffe-fast-rcnn
git remote add caffe https://github.com/BVLC/caffe.git
git fetch caffe
git merge caffe/master 在合并之后注释掉include/caffe/layers/python_layer.hppa文件里的self_.attr(“phase”) = static_cast(this->phase_)

至于为什么注释,我也搞不明白,也不知道该大神是怎么弄明白的,更不知道如果不注释会不会影响到后面.

2.

libgfortran.so.3: version `GFORTRAN_1.4' not found 

参照:http://stackoverflow.com/questions/9628273/libgfortran-version-gfortran-1-4-not-found

3.

 from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \ImportError: numpy.core.multiarray failed to import 

这是一个非常牛逼的错误,因为它涉及到ubuntu14.04的numpy最新版本问题.

这个问题是因为numpy版本太低,ubuntu14.04的numpy在numpy网最高版本是1.8.2,系统版本也是1.8.2.而这里我们需要更高的版本,如1.10

查看numpy版本的命令是:

python -c "import numpy; print numpy.__version__"

用apt-get install numpy或者pip install --upgrade numpy等发现是不能自动为系统升级numpy的,具体原因不详.所以最后,我选择手动升级.

进入该网站下载numpy-1.10.0.tar.gz: https://sourceforge.net/projects/numpy/files/NumPy/1.10.0/

下载完之后,解压到dir:B,输入以下命令:

cd B
sudo mkdir path
python setup.py build -j8 install --prefix B/path

这样,会在path下生成两个文件夹lib和bin.

把bin下生成的f2py去替换掉/usr/bin下的f2py;把lib/python2.7/site-packages下的所有文件去替换掉/usr/lib/python2.7/dist-packages/下的原来的文件.即可完成升级.

4 还有其他一些问题,不在此一一列举,都是通过疯狂百度或谷歌出来的,基本上都描述的很详细.

转载于:https://www.cnblogs.com/huty/p/8517171.html

[计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程2相关推荐

  1. [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程

    Faster R-CNN教程 Faster R-CNN教程 最后更新日期:2016年4月29日 本教程主要基于python版本的faster R-CNN,因为python layer的使用,这个版本会 ...

  2. 学习神经网络(深度学习)电脑的配置要求

    学习神经网络(深度学习)电脑的配置要求 个人电脑配置与使用感受(电脑小白) 我目前所使用的电脑的配置是 (1)CPU:i5-9300H (2)显卡(GPU):GTX1650-4G(4G表示显存) (3 ...

  3. 神经网络及深度学习CNN

    神经网络及深度学习CNN 一.传统人工神经网络(ANN) 二.CNN 1.CNN层次 1.1 输入层 1.2 卷积层 1.3 激励层 1.4 池化层 1.4 全连接层 1.5 归一化层 2.CNN的应 ...

  4. R语言神经网络与深度学习(一)

    #R语言神经网络与深度学习(一) #画出ReLU函数 x=seq(-1,1,0.1)   #生成x变量,赋值-1~1等差数列 relu=function(x) ifelse(x>0,x,0)   ...

  5. 神经网络与深度学习 作业7:第五章课后题(1×1 卷积核 | CNN BP)

    目录 习题5-2 证明宽卷积具有交换性,即公式(5.13). 习题5-3 分析卷积神经网络中用1x1的卷积核的作用. 习题5-4 对于一个输入为100x100x256的特征映射组,使用3x3的卷积核, ...

  6. DL:基于神经网络的深度学习模型的总概览简介(DNN/CNN/RNN等)、各种网络结构对比、案例应用对比之详细攻略

    DL:基于神经网络的深度学习模型的总概览简介(DNN/CNN/RNN等).各种网络结构对比.案例应用对比之详细攻略 目录 神经网络所有模型的简介(概览) DNN.CNN.RNN结构对比 相关文章 DL ...

  7. 三维图形几何变换算法实验_计算机视觉方向简介 | 深度学习视觉三维重建

    点击上方"计算机视觉life",选择"星标" 快速获得最新干货 作者: Moonsmile https://zhuanlan.zhihu.com/p/79628 ...

  8. 神经网络与深度学习【自用】

    神经网络与深度学习 1.1深度学习概述 深度学习(Deep Learning)就是更复杂的神经网络(Neural Network) 神经网络(Neural Network) 引入神经网络模型的概念: ...

  9. 深度学习掩膜_交叉新趋势|采用神经网络与深度学习来预报降水、温度等案例(附代码/数据/文献)...

    欢迎订阅微信公众号:『气象学家』 阅读建议 随着人工智能的发展,拥有了越来越丰富的应用场景,气象行业也不例外,在突破传统预报方法的情况下,神经网络与深度学习来预报气象要素也取得了不错的效果,下面就给出 ...

最新文章

  1. iOS推送:要支持戴口罩解锁了!以为是黑科技,原来是骗我买iWatch...
  2. 祝福我的朋友们五一玩的开心!
  3. mybatis学习7之动态sql
  4. 定时器Timer和Ticker
  5. windows7出现MTP usb设备驱动安装问题解决方法
  6. 【阿里妈妈数据科学系列】第一篇:认识在线实验
  7. Shadow Properties之美(一)【Microsoft Entity Framework Core随笔】
  8. 数据结构与算法-- 二叉树后续遍历序列校验
  9. echarts自定义图例legend文字和样式
  10. java 切面 不执行,解决springboot的aop切面不起作用问题(失效的排查)
  11. html/css杂题
  12. C++/OpenGL:图像指针操作
  13. bug记录:虚拟机ping不通外网
  14. 高通Android平台下关于display部分的几个关键问题
  15. [USACO4.1]麦香牛块Beef McNuggets By cellur925
  16. Proxmark3 easy gui 5.13 版本 编译日期2019-4-17 冰人4月份最新固件
  17. 在windows server 2003服务器上提供NTP时间同步服务
  18. [Python學習筆記] 使用xlwings 插入註解 (forked 版本)
  19. 以自己范例,说明如何写操作文档
  20. Centos操作系统基本介绍

热门文章

  1. 【CodeForces - 1047B 】Cover Points (数学,构造,思维)
  2. *【CodeForces - 574A】Bear and Elections (优先队列,水题模拟)
  3. 【CodeForces - 764A】Taymyr is calling you (找规律,水题)
  4. matlab aviobj,MATLAB AVI 视频读取处理
  5. php curl 数据采集 空,PHP curl从网站返回空数组的数据
  6. 工业炉温度计算机控制系统,热处理工业炉计算机控制系统组态王+PLC)
  7. valgrind工具使用详解
  8. GCC如何产生core dump
  9. Android Glide图片加载框架(二)源码解析之load()
  10. 为什么说选择正确的编程语言很重要,以及如何正确的选择