您的位置:首页 > Web前端

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

2017-11-19 14:58 1776 查看
参考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)−Xcompiler−fPIC(COMMON_FLAGS)

替换为:

NVCCFLAGS += -D_FORCE_INLINES -ccbin=(CXX)−Xcompiler−fPIC(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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: