Ubuntu16.04 安装配置GPU版本Caffe

前端之家收集整理的这篇文章主要介绍了Ubuntu16.04 安装配置GPU版本Caffe前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

配置:i7-6700HQ + GTX 965M

系统:ubuntu16.04 64位

安装CUDA 8.0


在存放.deb文件的目录下执行:
sudo dpk-i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
安装完成后重启

添加环境变量,在~/.bashrc中添加:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
使环境变量立即生效,执行 source ~/.bashrc

安装cuDNN

Nvidia官网下载cuDNN
• https://developer.nvidia.com/rdp/cudnn-download
注册后选择:
• Download cuDNN v5.1 (Jan 20,2017),for CUDA 8.0
• cuDNN v5.1 Library for Linux

安装cuDNN
解压cuDNN安装包
在解压出的cuda目录下执行:
• sudo cp lib64/* /usr/local/cuda/lib64/
• sudo cp include/cudnn.h /usr/local/cuda/include/

更新软链接,在/usr/local/cuda/lib64/目录下执行:
sudo chmod +r libcudnn.so.5.1.10
sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -sf libcudnn.so.5 libcudnn.so
sudo ldconfig

安装CUDA Sample

在/usr/local/cuda/samples/目录下编译例程:
• sudo make all
测试CUDA例程deviceQuery
• 在/usr/local/cuda/samples/bin/x86_64/linux/release目录下执行:
./deviceQuery

• 若能打印出显卡相关信息,则CUDA安装成功,如下图所示:


安装caffe必要的依赖库
sudo apt-get install libprotobuf-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install --no-install-recommends
sudo apt-get install libboost-all-dev
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev

安装完成后最好再

sudo apt-get update

sudo apt-get upgrade

安装opencv
到官网http://opencv.org/downloads.html下载压缩包,在/home目录本地解压
进入OpenCV2.4.13所在的文件
cd /home/css/opencv-2.4.13
安装依赖库和cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
sudo apt-get install cmake
安装完cmake之后执行命令
cmake .
看清楚cmake后面有一个"."符号!!!且cmake和"."之间有一个空格
执行完上述命令后执行
sudo make
之后就是漫长的编译过程,编译时间的长短和电脑配置有关系


执行完毕后执行命令
sudo make install


执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境


首先将OpenCV的库添加到路径,从而可以让系统找到:
sudo gedit /etc/ld.so.conf.d/opencv.conf
执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加:
/usr/local/lib


然后保存退出,执行如下命令使得刚才的配置路径生效

sudo ldconfig


配置bash,执行如下命令
sudo gedit /etc/bash.bashrc
在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH
如图所示:


保存退出,然后执行如下命令使得配置生效
sudo source /etc/bash.bashrc
之后更新database
sudo updatedb
至此,Linux\Ubuntu16.04环境下配置OpenCV已经全部完成,下面用一个简单的程序进行测试
在home目录创建opencv.cpp:
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
Mat srcImage = imread("mayuyu.jpg");
imshow("srcIMage",srcImage);

waitKey(0);

return 0;
}
并在相同目录下存放一张mayuyu.jpg
编译OpenCV程序命令为:
g++ `pkg-config opencv --cflags` opencv.cpp -o opencv `pkg-config opencv --libs`
编译没有错误运行
./opencv

结果应该可以读取mayuyu.jpg并显示图片


添加CUDA库
• 在/etc/ld.so.conf.d/目录下新建caffe.conf文件
sudo gedit /etc/ld.so.conf.d/caffe.conf
• 在caffe.conf文件(可能是空的)中添加内容:
/usr/local/cuda/lib64


安装Caffe
下载Caffe安装包,执行:
• sudo git clone https://github.com/BVLC/caffe.git


编译Caffe
进入caffe目录下
• 创建编译指导文件,执行
sudo cp Makefile.config.example Makefile.config
修改Makefile.config文件,根据运行平台修改配置
(可能要赋予修改权限:sudo chmod 666 Makefile.config)
• 若使用cpu+Caffe,则将第8行cpu_ONLY := 1前的#删除
• 若使用GPU+cuDNN+Caffe,则将第5行USE_CUDNN := 1前#删除
• 依次执行
sudo make all
sudo make test
sudo make runtest
(必要时可以在每条后面加 -j4,使用四线程加快编译速度,如sudo make all -j4)
• 上述过程若都没有报错,则实验完成
如下图所示:(不使用cudnn)



使用cudnn:(多test了几项)


BUG汇总
1.编译caffe,make all时:
“fatal error: hdf5.h: 没有那个文件或目录”解决方法
Step 1
在Makefile.config文件的第94行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
改为
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
Step 2
在Makefile文件的第181行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
改为
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial


2.编译caffe,执行make runtest时:
caffe make runtest error(core dumped)Check Failed: status == CUDNN_STATUS_SUCCESS (6 vs. 0)


简单讲就是GPU的加速性能不够,CUDNN只支持CUDA Capability 3.0以上的GPU加速 3.编译cuda samples时 collect2: error: ld returned 1 exit status Makefile:381: recipe for target 'cudaDecodeGL' Failed make[1]: *** [cudaDecodeGL] Error 1 make[1]: Leaving directory '/usr/local/cuda-8.0/samples/3_Imaging/cudaDecodeGL' Makefile:52: recipe for target '3_Imaging/cudaDecodeGL/Makefile.ph_build' Failed make: *** [3_Imaging/cudaDecodeGL/Makefile.ph_build] Error 2 解决方法:暂时找不到,可能是版本问题,但是不影响我们运行测试程序deviceQuery

猜你在找的Ubuntu相关文章