参考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 :=
修改为:
INCLUDE_DIRS :=
这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径.
4、修改makefile文件
打开makefile文件,将:
NVCCFLAGS +=-ccbin=
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=
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
没有错误表示成功