ubuntu16.04 安装配置matlab ,python ,cuda8.0,cudnn,opencv3.1的caffe环境

  网络上有很多ubuntu上caffe配置环境的帖子,本人照着其中的许多进行了参考,都出现了或多或少的错误,很多地方也有差异。

于是自己整理了下自己的安装过程,成功进行了测试,跑通了faster-rcnn。配置环境时间为2017.1.4 系统ubuntu16.04

一:显卡驱动的安装:

  由于要使用GPU,所以先要查看自己显卡所匹配的显卡驱动,网址:http://www.nvidia.com/Download/index.aspx%3Flang=en-us

  选择电脑匹配的显卡驱动,本人电脑显卡为GTX760,选择如下图所示

输入以下命令执行安装驱动:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-375 //此处为上图的驱动版本
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev

安装完成后,重启电脑后输入

nvidia-smi

出现你的电脑gpu列表,如下所示,表示驱动安装成功。

二:安装配置CUDA8.0

  cuda官方下载地址:https://developer.nvidia.com/cuda-downloads,选择如下:

  

下载完成后,解压到当前目录,切换到该目录输入:

sh cuda_8.0.44_linux.run --override

安装过程中,出现很多选择的选项,先一直按S滑到百分百,然后根据提示输入,分别如下:

1 输入accept接受条款
2 输入n不安装nvidia图像驱动,之前已经安装过了//此处一定要选择n
3 输入y安装cuda 8.0工具
4 回车确认cuda默认安装路径:/usr/local/cuda-8.0
5 输入y用sudo权限运行安装,输入密码
6 输入y或者n安装或者不安装指向/usr/local/cuda的符号链接
7 输入y安装CUDA 8.0 Samples,以便后面测试
8 回车确认CUDA 8.0 Samples默认安装路径:

最重要的是确定此处不要再选择安装驱动。

添加环境路径:

sudo vim ~/.bashrc  //末尾添加
export CUDA_HOME=/usr/local/cuda-8.0
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH  

添加完成后source ~/.bashrc 使之生效。

测试cuda的例子,并得到如下输出:

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
make -j4
sudo ./deviceQuery  

表明cuda安装成功。

三:Cudnnv5的安装

  从官网下载最新的cudnn,网址:https://developer.nvidia.com/rdp/cudnn-download,如下图选择适当的cudnn版本

  

本人下载放在Download目录下,进入该目录并解压,建立软连接,如下所示:

cd ./Download/
tar -xvzf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp ./cuda/include/cudnn.h /usr/local/cuda/include
sudo cp ./cuda/lib64/lib* /usr/local/cuda/lib64

cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
sudo ldconfig

四:matlab的安装与配置

  本人使用的matlab版本位:R2014b_glnxa64_withcrack.iso

1、挂载iso(需新建matlab_iso文件夹):
   mkdir matlab_iso //主目录
   sudo mount -o loop R2014b_glnxa64_+withcrack.iso  ~/matlab_iso
2、开始安装:
   cd ~/matlab_iso
   sudo ./install
3、选择不联网安装
4、密钥输入,29797-39064-48306-32452
5、激活:选择”license.lic”文件进行激活(在crack文件夹下面)
6、将libmwservices.so复制到/usr/local/MATLAB/R2014b/bin/glnxa64中:
   sudo cp libmwservices.so /usr/local/MATLAB/R2014b/bin/glnxa64/libmwservices.so

启动matlab后出现问题,可以参考这个帖子http://blog.csdn.net/csd_ct/article/details/51837894。只需要将/sys/os/glnxa64/下的libstdc++.so.6 重命名位libstdc++.so.6.old.

五:Opencv3.1的安装

  opencv3.1的下载,网址链接:http://opencv.org/downloads.html

  安装必要项:

1 sudo apt-get update
2 sudo apt-get install -y build-essential cmake git pkg-config
3 sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
4 sudo apt-get install -y libatlas-base-dev
5 sudo apt-get install -y --no-install-recommends libboost-all-dev
6 sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
7 sudo apt-get install -y python-pip
8 sudo apt-get install -y python-dev
9 sudo apt-get install -y python-numpy python-scipy  
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  

解压opencv并进入该目录:

cd opencv-3.1.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

期间可能会卡在ippcv的下载中,Ctrl + c中断后,可以到 ippicv_linux_20151201.tgz 下载。将下载的文件替换掉 OpenCV-3.1.0/3rdparty/ippicv/downloads/linux-8b449a536a2157bcad08a2b9f266828b下的同名文件。

make -j4
sudo make install  

make过程中,出现了graphcuts.cpp 的错误,进行如下修改:

sudo vim ../modules/cudalegacy/src/graphcuts.cpp 

将45行的#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)修改为#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)

编译完成后注意需要运行sudo make install执行安装

六:Caffe编译

  

1 cd ~
2 git clone https://github.com/BVLC/caffe.git    //从github上git caffe

  如果没有安装git,可以先使用sudo apt-get install git执行安装。

1 cd caffe
2 sudo cp Makefile.config.example Makefile.config
3 sudo vim Makefile.config

此时会修改caffe的编译配置,需要修改如下地方:

 1 # USE_CUDNN := 1 修改成: USE_CUDNN := 1
 2 # OPENCV_VERSION := 3 修改为: OPENCV_VERSION := 3
 3 # WITH_PYTHON_LAYER := 1 修改为 WITH_PYTHON_LAYER:=1
 4 #USE_OPENCV := 0 修改成 USE_OPENCV :=1
 5 #USE_LEVELDB := 0 修改为 USE_LEVELDB:=1
 6 #USE_LMDB := 0 修改位 USE_LMDB :=1
 7 //修改matlab目录
 8 将MATLAB_DIR := /usr/local/matlab2014b/
 9 //最终要的修改 # Whatever else you find you need goes here.下面的
10  INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
11 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
12 修改为:   INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
13  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文件:

sudo vim 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 将119行的

error -- unsupported GNU version! gcc versions later than 5 are not supported! 修改为 #error -- unsupported GNU version! gcc versions later than 5 are not supported!,即添加了注释,使之无效

进行编译:

make all -j8
make runtest -j8  

此时正确情况如下图所示:

  

编译matcaffe:

  执行 make matcaffe -j4

  显示MEX completed successfully,表示编译matcaffe成功,

  执行make mattest -j4 即运行matcaffe的测试程序,结果如下图:

  

编译pycaffe

sudo make pycaffe -j4
sudo make distribute -j4

  运行make pytest -j4进行测试,出现如下图:

  

表明pycaffe编译成功 在~/.bashrc 末尾添加export PYTHONPATH=/home/zf/caffe/python:$PYTHONPATH //自己对照自己路径。

打开python导入caffe 可以成功,如下:

七:mnist集测试:

cd ~/caffe
./data/mnist/get_mnist.sh
./examples/mnist/create_mnist.sh
./examples/mnist/train_lenet.sh  

结果如下图,正确率为99.08%

八:faster-rcnn配置与测试:

  

mkdir ~/caffetest
cd caffetest
git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git //下载rcnn源码
cd py-faster-rcnn
cd lib
make
cd ../caffe-fast-rcnn
//用之前编译的caffe替换rcnn的Makefile.config
sudo cp ~/caffe/Makefile.config ./caffe-fastr-rcnn/
sudo make -j4 && make pycaffe
cd ../
sudo ./data/script/fetch_faster_rcnn_models.sh

此过程中若出现cudnn错误,可以做如下方式进行解决:

cd caffe-fast-rcnn
Git remote add caffe https://github.com/BVLC/caffe.git
git fetch caffe
//需要github账号
git stash save
git merge caffe/master 

将caffe-fast-rcnn/include/caffe/layers/python_layer.hpp的29行self_.attr("phase") = static_cast<int>(this->phase_);注释掉

一切编译成功后,执行demo,两种demo为不同的模型框架,

cd ~/caffetest
./tool/demo.py
./tool/demo.py --net zf

  若出现Check failed:error == cudaSuccess(8 vs 0) invalid device function,则将py-faster-rcnn/lib/setup.py 的第135行,将arch改为与你显卡相匹配的数值,(比如我的GTX 760,计算能力是3.0,就将sm_35改成了sm_30)然后删除utils/bbox.c,nms/cpu_nms.c ,nms/gpu_nms.cpp 重新编译即可

最终结果部分图片如下:

  

九:总结与体会

  之前花费了时间断断续续的进行caffe的安装与配置,但是总会出现大大小小的问题,但是最后才发现是第一步驱动的问题,很多博客说到的编译器问题,在我这次安装过程中都没有出现。

据说是现在cuda8.0后对此进行了修复。最终能够完全成功,也是非常令人高兴的,也说明了,做一个事情,还是得老老实实专心的做下去。写这篇博客,一是为了纪念一下这一路安装的心酸,也

是想方便以后的人,希望对他们能有帮助,少走一点弯路。加油~

  安装过程中用到的安装软件,笔者会稍后上传到网盘,需要的可以联系笔者。笔者QQ:476833883。

  

  

时间: 2024-12-23 17:47:19

ubuntu16.04 安装配置matlab ,python ,cuda8.0,cudnn,opencv3.1的caffe环境的相关文章

Ubuntu16.04安装opencv for python/c++

Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一些人带去便利,节省时间. 1.安装OpenCV所需的库 1 sudo apt-get install build-essential 2 sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavforma

Ubuntu16.04安装配置和使用ctags

Ubuntu16.04安装配置和使用ctags by ChrisZZ ctags可以用于在vim中的函数定义跳转.在ubuntu16.04下默认提供的ctags是很老很旧的ctags,快要发霉的版本(5.9~svn20110310-11),快扔掉它,安装universal-ctags吧! 发霉的exuberant-ctags 来,一起看看,默认的ctags是什么情况. 查看apt提供了哪些ctags包 aptitude search ctags 查询结果: v ctags - v ctags:i

Ubuntu16.04 安装配置 Caffe 过程 (GPU版+CUDA 9.0+cuDNN 9.0+OpenCV 3.4.1)

虽然 Caffe 的官网已经有比较详细的针对 Ubuntu 的安装教程,但是要配置可以使用 GPU 的 Caffe 需要的依赖太多,包括 CUDA,cuDNN,OpenCV 等.参考了网上的很多教程,但在自己的配置中依旧出现了各种各样的意想不到的坑,所以在此记录一下自己配置 Caffe 的过程,以供参考.因为是配置完成后以回忆的形式做的记录,所以可能会有细节上的遗漏,还请见谅. 安装 Nvidia 驱动 1. 查询 NVIDIA 显卡驱动 去官网查询自己的显卡对应的驱动 http://www.n

Ubuntu16.04 安装配置Caffe

Caffe已经是第三次安装配置了,为什么是第三次呢?因为我实在是低估了深度学习对于硬件的要求.第一次我在自己笔记本上配置的单核,CPU only ...  结果是,样例数据跑了4小时,这还怎么玩?第二次在台式机上,因为台式机比较low,I5处理器4核,没有NVIDIA的GPU.我把别人训练好的模型下载下来,然后自己测试,发现真的成功了,心里小激动~ 然而,当我自己训练模型时,我训练7天.....  关键是7天了还在跑..... 心想,我这个穷逼难道要自己掏钱买个服务器?那怎么可能.还好,老师人非

Ubuntu16.04+GeForce GTX TITAN X+CUDA8.0+cudnn6

按之前的方法给TITAN X安装cuda8.0会发生循环登录的问题,因此换了一种安装方法 参考:https://www.jianshu.com/p/002ece426793,http://blog.csdn.net/jzrita/article/details/72887677 官方下载地址https://www.ubuntu.com/download 下载最新版,下载下来后使用软碟通制作安装镜像 安装完系统,更新系统 sudo apt-get update sudo apt-get upgra

ubuntu16.04安装配置php5.6,apache2,mysql

Ubuntu 16.04默认安装php7.0环境,但是php7目前兼容性并不是很好,如果自行安装php5需要清除php7的已安装包,否则会报错. 第一步:移除默认及已安装的PHP包 sudo dpkg -l | grep php| awk '{print $2}' |tr "\n" " "sudo apt-get install aptitudesudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr

ubuntu16.04安装配置nagios

参考博文:https://www.howtoing.com/ubuntu-nagios/ 该博文真实有效可供参考,按照步骤,基本可以成功 一.安装的先决条件 sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip 二.用户和组配置 useradd nagiosgroupadd nagcmdusermod -a -G nagcmd nagiosu

Ubuntu16.04 安装配置SNMP

1. 安装snmp 服务端:snmpd客户端:snmp apt-get install -y snmpd snmp 2. 配置snmp 找到并打开snmpd的配置文件 cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak vim /etc/snmp/snmpd.conf 将下面两行注释掉 view systemonly included .1.3.6.1.2.1.1 view systemonly included .1.3.6.1.2.1.25.1

Ubuntu16.04 +cuda8.0+cudnn+caffe+theano+tensorflow配置明细

本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权 欢迎关注我的博客:http://blog.csdn.net/hit2015spring和http://www.cnblogs.com/xujianqing 本文主要是介绍在ubuntu16.04下,怎么配置当下流行的深度学习框架,cuda8.0+cudnn+caffe+theano+tensorflow 安装英伟达显卡驱动 首先去官网上查看适合你GPU的驱动 (http://www.nvidia.com/Do