Ubuntu 16.04下安装CUDA8.0+Cudnn+Caffe

参考http://www.linuxidc.com/Linux/2017-11/148629.htm
http://blog.csdn.net/yaningli/article/details/77089696
首先卸载

1.cuda9.0卸载

切换到安装目录执行

 cd /usr/local/cuda-9.0/bin/
 ls
sudo ./uninstall_cuda_9.0.pl

2.cuda8.0安装

sudo sh ./cuda_8.0.61_375.26_linux.run 

3.安装Cudnn

官网下载cudnn-8.0-linux-x64-v5.1.tgz下载后进行解压

解压后把相应的文件拷贝到对应的CUDA目录下即可

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

4.安装Caffe

(1)依赖项目安装

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler 
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1

(2)安装opencv
从官网(http://opencv.org/downloads.html)下载Opencv
解压到要安装的位置,假设解压的地址是/home/opencv
执行命令: `
cd ~/opencv
mkdir build
cd build
(3)下载并安装caffe
(a)下载

git clone git://github.com/BVLC/caffe.git

(b)编译caffe
1.进入caffe目录
2.生成Makefile.config文件,将caffe目录下自带的Makefile.config.example文件复制一份并更名为Makefile.config,命令如下:

cp Makefile.config.example Makefile.config

3.修改Makefile.config文件中的配置

编辑Makefile.config文件
a.若使用cudnn,则将
#USE_CUDNN := 1
修改成:
USE_CUDNN := 1

b.若使用的opencv版本是3的,则将

#OPENCV_VERSION := 3

修改为:
OPENCV_VERSION := 3

c.修改
USE_OPENCV: = 1
USE_LEVELDB: = 1
USE_LMDB: = 1

d.将# Whatever else you find you need goes here.下面的
INCLUDE_DIRS := (PYTHONINCLUDE)/usr/local/includeLIBRARYDIRS:= (PYTHON_LIB) /usr/local/lib /usr/lib
修改为:
INCLUDE_DIRS := (PYTHONINCLUDE)/usr/local/include/usr/include/hdf5/serialLIBRARYDIRS:= (PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径.
4、修改makefile文件

打开makefile文件,将:
NVCCFLAGS +=-ccbin= (CXX)XcompilerfPIC (COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin= (CXX)XcompilerfPIC (COMMON_FLAGS)

5、修改 host_config.h文件

/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!

6、编译

make all -j8 #-j根据自己电脑配置决定

7、测试
编译成功
a.运行sudo make test 输出显示若干CXX,LD没有问题
b.运行sudo make runtest
会出现

.build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0: cannot open shared object file: No such file or directory
Makefile:533: recipe for target 'runtest' failed
make: *** [runtest] Error 127

解决方法
解决办法是将一些文件复制到/usr/local/lib文件夹下:(#注意自己CUDA的版本号!)

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

重新编译sudo make runtest,还是出现

build_release/tools/caffe: error while loading shared libraries: libcudnn.so.5: cannot open shared object file: No such file or directory
Makefile:533: recipe for target 'runtest' failed

解决方法

sudo cp /usr/local/cuda-8.0/lib64/libcudnn.so.5 /usr/local/lib/libcudnn.so.5 && sudo ldconfig

输出的所有的RUN均为OK即可确认caffe安装成功
如图

这里写图片描述
8.配置pycaffe接口

a.打开配置文件bashrc,

sudo gedit ~/.bashrc

b.在最后面加入caffe目录下的python路径

export PYTHONPATH=/home/rootroot/caffe/python #添加自己的python路径
source ~/.bashrc  #使配置生效

出现

touch python/caffe/proto/__init__.py
PROTOC (python) src/caffe/proto/caffe.proto

表示成功
9.测试python接口

sudo make pytest

没有错误表示成功

参考
http://blog.csdn.net/u010193446/article/details/53259294

猜你喜欢

转载自blog.csdn.net/ktigerhero3/article/details/78574458