分享在Ubuntu 14.04下CUDA8.0 + cuDNN v5 + Caffe 安装配置过程。
一、硬件与环境
显卡:GTX 1080
系统:Ubuntu 14.04
CUDA:cuda_8.0.44_linux.run
cuDNN:cudnn-8.0-linux-x64-v5.1.tgz
注意:
- GTX1080显卡必须用CUDA 8.0版本。CUDA从此处下载。切记,千万不要下载 deb 包,否则后方无数坑在等着你。
CUDA下载界面 - GTX1080显卡必须用cuDNN-8.0-V5.1版本,不然用 caffe 跑模型,用 CPU或GPU显卡跑精度正常,一旦开启cuDNN模式,精度(acc)立刻下降到 0.1 左右,loss 非常大。cuDNN在此处下载。下载需注册。最好注册一个账号,选择对应的版本,不要用网上其他教程给的现成的包,出问题的概率非常大。
二、安装:
注意:一定要按顺序!
注意:一定要按顺序!
注意:一定要按顺序!
1. 安装 Ubuntu 14.04
本文不关注。假设你已经将此系统做过稳定的开发环境,这不是全新安装后的系统,至少 git 等最常用包已经安装。缺什么装什么,apt-get 大法好。
2. 禁用 nouveau 驱动
打开终端,输入$ sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
,输入
blacklist nouveau
options nouveau modset=0
保存退出,执行$ sudo update-initramfs -u
,禁用结束。重启电脑。
验证驱动是否禁用成功:
输入$ sudo lspci | grep nouveau
,如果没有内容,则禁用成功。
什么都没有,则禁用成功
3. 安装CUDA 8.0
运行下载好的 run file (假设 cuda_8.0.44_linux.run 在家目录下)。$ sudo sh cuda_8.0.44_linux.run
一路回车即可。
验证是否安装成功:
输入$ ls /dev/nvidia*
,若生成 4 个左右 Nvidia 开头的文件(夹),说明此步安装成功。此时已经安装好显卡驱动和CUDA 8.0。输入$ nvidia-smi
可查看显卡驱动和其他信息。
生成了五个 nvidia 开头的文件夹
显卡驱动版本信息
注意:网上其他教程由于年代久远,里面不建议安装此 CUDA 包中的显卡驱动。然而,这个包中的显卡驱动大版本为 367 ,非常新,可以用。
4. 配置环境变量
输入$ sudo gedit /etc/profile
,打开 gedit ,最后两行输入
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
保存退出,环境变量配置完成。
5. 安装 cuDNN
你已经下载好 cudnn-8.0-linux-x64-v5.1.tgz,并将其放在家目录($ cd ~
)下。
按顺序输入以下代码:
$ cd ~
$ sudo tar xvf cudnn-8.0-linux-x64-v5.1.tgz
$ cd cuda/include
$ sudo cp *.h /usr/local/include/
$ cd ../lib64
$ sudo cp lib* /usr/local/lib/
$ cd /usr/local/lib# sudo chmod +r libcudnn.so.5.1.5
$ sudo ln -sf libcudnn.so.5.1.5 libcudnn.so.5
$ sudo ln -sf libcudnn.so.5 libcudnn.so
$ sudo ldconfig
注意:libcudnn.so后面跟的数字可能和你下载的 cudnn 包小版本的不同而不同,去~/cuda/lib64
下看一眼,相对应地进行修改。
6. 安装 caffe
(1) 下载 caffe
在家目录执行 $ git clone https://github.com/BVLC/caffe.git
,~
下生成文件夹 caffe。
(2) 安装依赖
$ sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
(3) 编译 caffe
打开 caffe 所在目录,找到Makefile.config.example
文件,将其改名为Makefile.config
,打开。将# USE_CUDNN := 1
一行开头的#删除,保存。
在 MakeFile.config 中开启 cuDNN模式
打开终端,输入
cd ~/caffe
make -j
等待编译完成即可。
注意:编译需要非常大的内存和非常长的时间。一般情况下不会报错。报错查阅相关书籍和搜索引擎,此处不关注。
(4) 配置 caffe 环境
caffe 运行时需要调用 cuda 的库,我们在/etc/ld.so.conf.d目录下新建一个cafe.conf文件。终端输入$ sudo gedit /etc/ld.so.conf.d/caffe.conf
打开 gedit 。添加内容:/usr/local/cuda/lib64
保存退出。
更新配置$ sudo ldconfig
所有配置结束。
三、测试
此处说的很简略。假设你已经初步掌握 caffe 的用法。
# cd ~/caffe
# sudo sh data/mnist/get_mnist.sh
# sudo sh examples/mnist/create_mnist.sh
# sudo sh examples/mnist/train_lenet.sh
感受1080开启cuDNN模式的强大吧!
caffe 例程结果
一切搞定。
Ubuntu 14.04 安装配置CUDA http://www.linuxidc.com/Linux/2014-10/107501.htm
Ubuntu 12.04配置NVIDIA CUDA5.5实录 http://www.linuxidc.com/Linux/2014-10/107502.htm
Ubuntu安装Theano+CUDA http://www.linuxidc.com/Linux/2014-10/107503.htm
关于Ubuntu 12.04 下 CUDA5.5 的安装请参看如下链接 Ubuntu 12.04 安装 CUDA-5.5
Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 ) http://www.linuxidc.com/Linux/2016-09/135016.htm
在Ubuntu 14.04上配置CUDA+Caffe+cuDNN+Anaconda+DIGITS http://www.linuxidc.com/Linux/2016-11/136775.htm
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139300.htm