py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+python2.7环境搭建记录
第一次写博客,以此纪念这几天安装caffe,跑faster-rcnn的血泪史.在此特别感谢网络各路大神,来自全球各地,让我能从中汲取营养,吸取经验,总结规律.
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/cuda ANACONDA_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)/lib
WITH_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 还有其他一些问题,不在此一一列举,都是通过疯狂百度或谷歌出来的,基本上都描述的很详细.
py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+python2.7环境搭建记录的更多相关文章
- faster-rcnn(testing): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3+opencv3.0+matlabR2014a环境搭建记录
python版本的faster-rcnn见我的另一篇博客: py-faster-rcnn(running the demo): ubuntu14.04+caffe+cuda7.5+cudnn5.1.3 ...
- Ubuntu14.04+caffe+cuda7.5 环境搭建以及MNIST数据集的训练与测试
Ubuntu14.04+caffe+cuda 环境搭建以及MNIST数据集的训练与测试 一.ubuntu14.04的安装: ubuntu的安装是一件十分简单的事情,这里给出一个参考教程: http:/ ...
- py faster rcnn+ 1080Ti+cudnn5.0
看了py-faster-rcnn上的issue,原来大家都遇到各种问题. 我要好好琢磨一下,看看到底怎么样才能更好地把GPU卡发挥出来.最近真是和GPU卡较上劲了. 上午解决了g++的问题不是. 然后 ...
- Ubuntu14.04配置gcc4.4.4+Qt4.8.4交叉编译环境
安装32位程序运行支持 sudo apt-get install lib32stdc++6 lib32z1 lib32ncurses5 lib32bz2-1.0 可能报错: lib32stdc++6 ...
- ubuntu14.04 caffe
1.显卡驱动 ubuntu nvidia 940m 使用sudo ubuntu-drivers devices 查看推荐的驱动版本 //sudo add-apt-repository ppa:mama ...
- ubuntu14.04+nvidia driver+cuda8+cudnn5+tensorflow0.12
文章在简书里面编辑的,复制过来貌似不太好看,还是到简书的页面看吧: http://www.jianshu.com/p/c89b97d052b7 1.安装环境简介: 硬件: cpu:i7 6700k g ...
- Ubuntu14.04 caffe 配置
1.前置条件验证 (1) Ubuntu14.04操作系统. (2) 检验计算机是否为NVIDIA显卡,终端输入命令 $ lspci | grep -invidia (3) 检验计算机是否为x86_6 ...
- Ubuntu14.04下CUDA7.5安装与配置
一.下载: 在官网上下载cuda toolkit(所有需要安装都在里面包括驱动 toolkit Samples)下载网址: https://developer.nvidia.com/cuda-down ...
- 在Ubuntu14.04中安装Py3和切换Py2和Py3环境
前几天小编给大家分享了如何安装Ubuntu14.04系统,感兴趣的小伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编给大家分享一下在Ubuntu14.04系 ...
随机推荐
- Javascript模式(第四章函数)------读书笔记
一 背景 js函数的两个特点:1 函数是第一类对象(first-class object):2 函数可以提供作用域 1 函数是对象: 1 函数可以在运行时动态创建,还可以在程序执行过程中创建 2 可以 ...
- 测试dockerfile
测试dockerfile是否ok(比如我的Dockerfile在deploy目录下) docker build -t my_image -f deploy/Dockerfile . docker im ...
- sublime text2在windows中以命令行启动
sublime text2在windows中以命令行启动 把执行文件添加到PATH中即可,如图: 如果你和我一样习惯了mac下的简写subl,那么需要在程序目录中新建一个批处理文件subl.bat ...
- Debugging Maya Plugin(C++) with CodeBlocks in Linux
My system is CentOS7 x64, Maya2015 x64 for Linux. - Make sure that your project is built with flag - ...
- Visual studio 类视图和资源视图不显示的问题
关于Visual studio 类视图和资源视图不显示的问题 解决方法: 1. 工具—选项—文本编辑器—C/C++—高级,浏览/导航下的禁用数据库选项置为False; 2. 输入命令:devenv / ...
- Hibernate5.2关联关系之双向一对多(三)
Hibernate之双向一对多(三) 一.简介 本篇博文接着上一章的内容接着开展,代码也是 ...
- jsgen 搭建
1,mongodb 2,redis http://www.cnblogs.com/lxx/archive/2013/06/04/3116985.html http://blog.csdn.net/w ...
- shell script
一.shell script的编写与执行 1.shell script 的编写中还需要用到下面的注意事项: a.命令的执行是从上到下,从左到右地分析与执行 b.命令.参数间的多个空白都会被忽略掉 c. ...
- LAN-LAN FREE-SERVER FREE
注:本文转自http://taotao1240.blog.51cto.com/731446/839702 CU上有个板块叫“存储备份”,可见存储和备份是紧紧联系的.在看备份的时候,经常能看到LAN f ...
- 在IIS7中ASP.NET MVC3网站中建立gcc编译服务时要注意的问题
1. 正常配置下调用gcc总是失败,虽然在环境变量中配置了gcc路径,但提示找不到gcc编译程序: 2. 使用全路径调用gcc,也是失败,提示cc1.exe编译失败,失败代码53: 3. 通过远程桌面 ...