阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 16.04 安装配置MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1的Caffe环境

240次阅读
没有评论

共计 8966 个字符,预计需要花费 23 分钟才能阅读完成。

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

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

一:显卡驱动的安装:

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

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境  

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

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 列表,如下所示,表示驱动安装成功。

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

二:安装配置 CUDA8.0

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

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

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

表明 cuda 安装成功。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-06/145087p2.htm

三:Cudnnv5 的安装

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

本人下载放在 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、密钥输入,29797390644830632452
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/MATLAB/R2014b
 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!,即添加了注释,使之无效

进行编译:

sudo make all -j8  
sudo make runtest -j8

若编译出现 libcudart.so.8.0 错误,则执行如下命令

sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0
sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0
sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0
sudo ldconfig

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

编译 matcaffe:

执行 make matcaffe -j4

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

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

编译 pycaffe

1 sudo make pycaffe -j4
2 sudo make distribute -j4
3 cd python
4 for req in $(cat requirements.txt); do sudo  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple $req; done 
5 cd ../

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

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

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

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

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

一:显卡驱动的安装:

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

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境  

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

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 列表,如下所示,表示驱动安装成功。

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

二:安装配置 CUDA8.0

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

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

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

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

表明 cuda 安装成功。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2017-06/145087p2.htm

七:mnist 集测试:

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

结果如下图,正确率为 99.08%
Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

八: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 错误,可以做如下方式进行解决:

//在 caffe-fast-rcnn 目录下
git remote add caffe https:
//github.com/BVLC/caffe.git 
git fetch caffe
// 可能 需要 github 账号 按照提示输入 git config –global user.email ~~~ 和 git config –global user.name ~~~
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/py-faster-rcnn
./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 重新编译即可

最终结果部分图片如下:

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

Ubuntu 16.04 安装配置 MATLAB+Python +CUDA8.0+cuDNN+OpenCV3.1 的 Caffe 环境

九:总结与体会

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

据说是现在 cuda8.0 后对此进行了修复。最终能够完全成功,也是非常令人高兴的,也说明了,做一个事情,还是得老老实实专心的做下去。写这篇博客,一是为了纪念一下这一路安装的心酸,也是想方便以后的人,希望对他们能有帮助,少走一点弯路。加油~

Ubuntu 15.04 下 Caffe + + CUDA 7.0 安装配置指南  http://www.linuxidc.com/Linux/2016-11/137497.htm

Caffe 深度学习入门教程  http://www.linuxidc.com/Linux/2016-11/136774.htm

Ubuntu 16.04 下 Matlab2014a+Anaconda2+OpenCV3.1+Caffe 安装 http://www.linuxidc.com/Linux/2016-07/132860.htm

Ubuntu 16.04 系统下 CUDA7.5 配置 Caffe 教程 http://www.linuxidc.com/Linux/2016-07/132859.htm

Caffe 在 Ubuntu 14.04 64bit 下的安装 http://www.linuxidc.com/Linux/2015-07/120449.htm

深度学习框架 Caffe 在 Ubuntu 下编译安装  http://www.linuxidc.com/Linux/2016-07/133225.htm

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明  http://www.linuxidc.com/Linux/2015-04/116444.htm

Ubuntu 16.04 上安装 Caffe http://www.linuxidc.com/Linux/2016-08/134585.htm

Caffe 配置简明教程 (Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1)  http://www.linuxidc.com/Linux/2016-09/135016.htm

Ubuntu 16.04 上安装 Caffe(CPU only)  http://www.linuxidc.com/Linux/2016-09/135034.htm

更多 Ubuntu 相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/145087.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计8966字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中