首页 / 操作系统 / Linux / Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 )
1. 前言本教程使用的系统是Ubuntu 14.04 LTS 64-bit,使用的CUDA版本为7.5,使用的NVIDIA驱动版本为352。如果您使用的Pascal架构显卡,如GTX1080或者新ttx,则必须使用更高版本的驱动和CUDA 8。本教程不适于这种情况,请不要尝试。
Ubuntu每两年发布一次LTS版本(即长期支持版),所以现在已经发布了16.04 LTS版本。鉴于很多程序在新系统下的兼容性还没有测试,本教程依然介绍的是上一个LTS版本上安装Caffe的方法,随后会推出针对于Ubuntu 16.04和CUDA 8的教程。本教程很多细节已经尽量详细,但是还是要求使用者有一定的Linux基础,后续可能会推出针对于Linux新用户的更为详细的教程。2. 安装基础依赖项sudo apt-get install build-essentialsudo apt-get install cmake git3. 安装NVIDIA驱动(optional)如果你没有NVIDIA显卡,或者只需要使用CPU-only模式,请不要安装NVIDIA驱动和CUDA,否则会造成Ubuntu图形界面无法启动。首先需要关闭图形界面,使用Ctrl+Alt+F1进入虚拟控制台,然后输入用户名和密码登陆。然后关闭lightdmsudo /etc/init.d/lightdm stop然后更新源,并从Ubuntu官方源中安装NVIDIA 352驱动sudo apt-get install nvidia-352这是目前官方源中最新的驱动版本,由于16.04的推出,Ubuntu官方源应该不会再更新14.04的驱动版本。如果需要更高版本的驱动,可以前往NVIDIA官网进行下载。然后重启电脑即可。sudo rebootPS:用这种方式安装NVIDIA显卡驱动,会自动覆盖Ubuntu的X Server配置,这样如果你的显示器连接的不是NVIDIA显卡,就无法正常启动图形界面。使用Tesla等计算卡的同学们请注意这一点。4. 安装CUDA 7.5(optional)CUDA的本地安装包中含有NVIDIA驱动,如果没有进行步骤3,安装CUDA时会自动安装NVIDIA驱动,所以没有NVIDIA显卡请不要安装CUDA。另外NVIDIA驱动最好按照步骤3单独安装。从NVIDIA官网下载CUDA 7.5的deb本地安装包:下载地址点击如上的链接可以下载支持x86架构CPU和Ubuntu 14.04系统的deb本地安装包,大小约1.9GB,如果需要其他安装方式可以按官网教程进行。下载完成后,打开Terminal,前往指定的目录,然后执行:sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.debsudo apt-get updatesudo apt-get install cuda安装完成后,需要添加环境变量。使用gedit打开如下文档:sudo gedit /etc/profile在文件末尾添加:PATH=/usr/local/cuda/bin:$PATHexport PATH保存完成后,执行如下命令使环境变量立即生效:source /etc/profile然后还需要添加lib的路径:sudo gedit /etc/ld.so.conf.d/cuda.conf在文件中写入如下内容然后保存:/usr/local/cuda/lib64之后执行如下命令使之生效:sudo ldconfigPS:上面的命令使L-D-C-O-N-F-I-G!!! 无数的人把L写成了I,然后告诉我报错。执行完了这些操作之后,还可以安装CUDA SAMPLES来检测CUDA是否运行正常,鉴于这不是CUDA编程教程,本教程暂不介绍。4. 安装其他的一些依赖项sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-devsudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-devsudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-devsudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compilerPS:复制粘贴太长的命令可以能因为浏览器的原因导致输入了多余的换行符,如果复制粘贴带有换行符的命令进Terminal,会被当做两条命令来执行,一定要注意这一点。5. 安装ATLAS本步骤可以用OpenBLAS或者Intel MKL替代。我在E5-2690v2+GTX780的平台上测试过这三种库,性能相差无几,这里就介绍其中一种:sudo apt-get install libatlas-base-dev然后自动安装完成即可。目前intel MKL是收费软件,OpenBLAS可以免费下载和安装。如果使用这两种库,编译Caffe时要在Makefile.config做出对应的修改。6. 安装OpenCV从OpenCV官网上下载OpenCV官网上下载OpenCV的未编译源代码:点击这里国内很多网络打开OpenCV官网速度缓慢,可以点击如下地址直接从GitHub上下载OpenCV 3.1的源代码下载地址下载完成后解压缩,然后在Terminal中转到该目录下,执行mkdir buildcd buildcmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..make -j10PS:上一句代码中的-j10指10线程同时编译,根据自己CPU的特点调整该参数,如果不了解自己CPU,直接执行make即可。sudo make install 7.下载Caffe从GitHub上直接下载Caffe的最新版git clone https://github.com/BVLC/caffe.git也可以从Caffe的GitHub工程中下载Caffe的历史版本:https://github.com/BVLC/caffe8. 安装Python(optional)先安装相关依赖项sudo apt-get install python-dev python-pip转到下载的caffe的目录下,然后转到python目录下cd python执行如下命令:for req in $(cat requirements.txt); do sudo pip install $req; done等待其自动安装即可。9. 安装MATLAB(optional)本步骤为可选项目,MATLAB为收费软件,请支持正版。10. 配置cuDNN(optional)cuDNN需要注册Accelerated Computing Developer Program,然后可以免费下载。cuDNN是The NVIDIA CUDA Deep Neural Network library,对于使用NVIDIA显卡进行深度学习加速具有很大的性能提升,非常建议添加。在如下地址进行注册和下载,支持下载历史版本:点击这里PS:另外,cuDNN在很多工程中兼容性较差,可能需要安装特定的历史版本。下载后解压缩,转到该目录下,执行:sudo cp lib* /usr/local/cuda/lib64/sudo cp cudnn.h /usr/local/cuda/include/更新软链接cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5sudo ln -s libcudnn.so.5.1.3 libcudnn.so.5sudo ln -s libcudnn.so.5 libcudnn.soPS:根据你下载的cuDNN版本不同,需要对如上命令中的版本进行修改,以上展示的命令是对于cuDNN 5.1.3的。11. 编译Caffe在caffe目录下,执行:cp Makefile.config.example Makefile.config然后打开Makefile.config,根据自己的需要修改相关参数。如果使用了cuDNN,则如下行取消注释:# USE_CUDNN := 1如上教程中,使用了OpenCV 3.1,则如下行取消注释:# OPENCV_VERSION := 3其他可以根据需求修改,比如安装了MATLAB后写入正确的MATLAB安装路径等。然后进行编译:make all -j10make testmake runtestPS:-j10这一参数已经在前面的教程中说过了,再说一次: -j10指10线程同时编译,根据自己CPU的特点调整该参数,如果不了解自己CPU,直接执行make即可。然后可以根据需求编译matcaffe和pycaffe:make matcaffemake pycaffe然后caffe就安装结束了。12. 运行minist demo转到 Caffe 目录下
sh data/mnist/get_mnist.shsh examples/mnist/create_mnist.shsh examples/mnist/train_lenet.sh如果运行正常,caffe就可以正常工作了。本教程编写参考了如下教程 http://www.linuxidc.com/Linux/2015-04/116444.htmCaffe的官方网站是 http://caffe.berkeleyvision.org/Ubuntu 14.04 安装配置CUDA http://www.linuxidc.com/Linux/2014-10/107501.htmUbuntu 12.04配置NVIDIA CUDA5.5实录 http://www.linuxidc.com/Linux/2014-10/107502.htmUbuntu安装Theano+CUDA http://www.linuxidc.com/Linux/2014-10/107503.htm关于Ubuntu 12.04 下 CUDA5.5 的安装请参看如下链接 Ubuntu 12.04 安装 CUDA-5.5 更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2本文永久更新链接地址