一、CUDA和cuDNN
之前装pytorch的时候安装过,此处省略安装过程
二、Caffe的版本
问过师姐+百度,Caffe没有很多版本,主要是BAIR实验室维护的官方版本,贾扬清的个人版本(但在某个网页看到似乎已经停止维护了)。我选择了前者,网址:http://caffe.berkeleyvision.org/
这里有个误会,安装教程中sudo apt install caffe-cuda
这一句不是安装整个caffe,只是安装了一部分依赖项而已。。。别弄错了
三、安装过程
1.下载源码
2.安装依赖(~/caffe目录有一部分,~/caffe/python目录还有一部分requirements)
3.改Makefile.config
4.改Makefile
5.依次执行下面几句命令
sudo make clean
sudo make all -j8 # j后面的数字是指你要用cpu的几个核心来做这件事,可以自己改
sudo make test -j8
sudo make runtest -j8
sudo make pycaffe -j8
四、遇到的问题
1.执行sudo make all -j8
时报错:usr/bin/ld: cannot find -lcudnn
参考两个链接
https://github.com/BVLC/caffe/issues/5253
https://stackoverflow.com/questions/43996484/ubuntu-caffe-installation-error-usr-bin-ld-cannot-find-lcudnn
发现有这么几个可能:
(AAA) 没有安装cuDNN,或者cuDNN和CUDA版本不对应
之前装好了CUDA和cuDNN,现在查看一下linux系统中二者的版本,方法看这个链接:https://blog.csdn.net/u011394059/article/details/78455252
看网上说要求CUDA 9.0对应cuDNN 7.0,我的cuDNN版本是7.4.1(这一点在下一步的libcudnn.so.7.4.1
文件得到了验证),不是7.0版本,但平时用pytorch可以GPU加速运算,所以版本没问题
(BBB) cudnn.h文件没有包含在include路径中
首先定位cudnn.h文件,方法是在命令行中执行:
sudo locate cudnn.h
返回结果中有一句是/usr/local/cuda-9.0/include/cudnn.h
把这个路径加入编译caffe时的Makefile.config文件中,问题没有解决,排除B可能
(CCC) libcudnn.so文件没有在LD_LIBRARY_PATH中
首先定位libcudnn.so文件,方法是在命令行中执行:
sudo locate libcudnn.so
得到的结果:
/usr/local/cuda-9.0/lib64/libcudnn.so
/usr/local/cuda-9.0/lib64/libcudnn.so.5
/usr/local/cuda