Ubuntu16.04+py-faster-rcnn+Caffe+GPU运行环境配置

一、安装NVIDIA驱动

https://blog.youkuaiyun.com/ly_twt/article/details/104879887

二、安装cuda8.0+cudnn5.1

如果第一次安装cuda+cudnn,可以参考:

https://blog.youkuaiyun.com/ly_twt/article/details/104876169

如果已经存在别的版本,可以参考:

https://blog.youkuaiyun.com/ly_twt/article/details/104905417

三、安装opencv3.2

安装官方给的opencv依赖包

$ sudo apt-get install build-essential
$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev # 处理图像所需的包
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
$ sudo apt-get install libxvidcore-dev libx264-dev # 处理视频所需的包
$ sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能
$ sudo apt-get install ffmpeg

1、opencv3.2下载地址https://opencv.org/releases/page/4/

2、下载后解压opencv到你要安装的位置,假设解压到了/home/opencv

linux安装opencv需要用到ippicv_linux_20151201.tgz。https://raw.githubusercontent.com/Itseez/opencv_3rdparty/81a676001ca8075ada498583e4166079e5744668/ippicv/ippicv_linux_20151201.tgz

下载ippicv_linux_20151201.tgz后,直接将ippicv_linux_20151201.tgz拷贝到opencv/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e中即可,如果没有该目录,则创建。

3、创建编译文件夹

 cd ~/opencv  # 进入到刚刚解压的opencv目录
 mkdir build 
 cd build 

4、配置

  sudo apt install cmake 
  sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. 

5、编译

sudo make -j8
# -j8表示并行计算,根据自己电脑的配置进行设置,配置比较低的电脑可以将数字改小或不使用,直接输入sudo make

6、安装

sudo make install

四、安装Anaconda

可以参考:https://blog.youkuaiyun.com/qq_34809033/article/details/83824304

五、安装caffe

1、安装各种依赖包

sudo apt-get update 
sudo apt-get install -y build-essential cmake git pkg-config 
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler 
sudo apt-get install -y libatlas-base-dev 
sudo apt-get install -y --no-install-recommends libboost-all-dev 
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev 
sudo apt-get install -y python-pip 
sudo apt-get install -y python-dev 
sudo apt-get install -y python-numpy python-scipy  

2、下载caffe:https://github.com/BVLC/caffe

3、将caffe解压后,将终端cd到caffe文件夹,输入以下命令:

sudo cp Makefile.config.example Makefile.config   //将Makefile.config.example的内容复制到Makefile.config 
//因为make指令只能make Makefile.config文件,而Makefile.config.example是caffe给出的makefile例子 
sudo gedit Makefile.config //打开Makefile.config文件

打开后,修改以下内容:

注意:修改后是没有井号的
//若使用cudnn,则将# USE_CUDNN := 1 修改成: USE_CUDNN := 1 
//若使用的opencv版本是3的,则将# OPENCV_VERSION := 3 修改为: OPENCV_VERSION := 3 
//若要使用python来编写layer,则需要将# WITH_PYTHON_LAYER := 1 修改为 WITH_PYTHON_LAYER := 1 
//重要的一项 将# Whatever else you find you need goes here.下面的 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的位置,所以需要更改这一路径

打开Makefile文件:

将
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)

编辑/usr/local/cuda/include/host_config.h,将其中的第115行注释掉:

#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
注释掉后如下
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!

4、最后:

make all -j8
make runtest
make pycaffe

注:

如果没有报错那么就安装成功了。
在成功编译caffe的源码之后,可以在python环境中使用caffe。
在Ubuntu环境下,打开python解释程序,输入import caffe时:出现以下错误


    >>>import caffe  
    Traceback (most recent call last):  
    File "<stdin>", line 1, in <module>  
    ImportError: No module named caffe  

解决办法:

①打开~/.bashrc

sudo gedit ~/.bashrc

②在文件最后写入

export PYTHONPATH=/home/xxxxxx/caffe/python:$PYTHONPATH

③保存文件,关闭文件,在终端写入以下语句,使环境变量生效

source ~/.bashrc 

六、faster rcnn安装与运行

1、下载:https://github.com/rbgirshick/py-faster-rcnn

2、生成cython模块

解压后,在终端上cd到py-faster-rcnn/lib

然后在终端输入make

3、生成caffe和pycaffe

caffe-fast-rcnn文件夹中是空的,需要去github上单独下载caffe-fast-rcnn文件夹

cd py-faster-rcnn/caffe-fast-rcnn
cp Makefile.config.example Makefile.config

打开Makefile.config,修改方式和caffe中的修改方式一样。
打开Makefile文件,也按照caffe中的方式进行修改。

4、编译

make -j8 && make pycaffe

需要注意的是,因为这个版本所用的cudnn为旧版本的,可能与新环境的cudnn不兼容,导致出现如下错误:

    In file included from ./include/caffe/util/cudnn.hpp:5:0,  
                     from ./include/caffe/util/device_alternate.hpp:40,  
                     from ./include/caffe/common.hpp:19,  
                     from ./include/caffe/util/db.hpp:6,  
                     from src/caffe/util/db.cpp:1:  
    /usr/local/cuda/include/cudnn.h:803:27: note: declared here  
     cudnnStatus_t CUDNNWINAPI cudnnSetPooling2dDescriptor(  
                               ^  
    make: *** [.build_release/src/caffe/util/db.o] Error 1  

****解决方法:
1).将/py-faster-rcnn/caffe-fast-rcnn/include/caffe/util/cudnn.hpp 换成最新版的caffe里的cudnn的实现,即相应的cudnn.hpp.
2).将/py-faster-rcnn/caffe-fast-rcnn/src/caffe/layer里的,所有以cudnn开头的文件都替换成最新版的caffe里的相应的同名文件。

3)将/py-faster-rcnn/caffe-fast-rcnn/include/caffe/layer里的,所有以cudnn开头的文件都替换成最新版的caffe里的相应的同名文件。

5、下载模型文件

http://www.cs.berkeley.edu/~rbg/faster-rcnn-data

将下载的文件解压后放到py-faster-rcnn/data中

6、运行demo

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

完成!!!

 

以上是参考了很多博客才做好的。具体源博客等有时间再复制链接给大家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值