Caffe安装
{
Author:Francis_ZHOU
}
写此文章的目的是对这一段时间安装caffe的总结,希望自己能够从中把知识融会贯通,并且也希望能够帮助更多的人。
参考文章
http://caffe.berkeleyvision.org/installation.html
http://blog.csdn.net/shiorioxy/article/details/52652831
http://cvrs.whu.edu.cn/blogs/?p=299
运行环境
操作系统:Ubuntu14.04
GPU:GTX780
caffe安装(CPU_ONLY)
1、安装git,一会需要用他来下载caffe源码
$ sudo apt-get install git
2、安装必要的依赖包
$ 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
3、安装BLAS
$ sudo apt-get install libatlas-base-dev
也可以使用OpenBLAS或者MKL,但是在安装上会相对麻烦一点,有兴趣的同学可以自行安装。
4、安装Python
$ sudo apt-get install python-dev
5、安装一些其他的依赖包
$ sudo apt-get install libgflags-dev libgoogle-glog-devliblmdb-dev
6、下载Caffe源码
$ git clone https://github.com/bvlc/caffe.git
7、编译Caffe
$ cd caffe/
$ mv Makefile.config.example Makefile.config
$ vi Makefile.config
把文件中的CPU_ONLY前面的注释去掉。
$ make -j8
至此,等待编译成功。
注:此方法编译后为CPU_ONLY模式,适合初学者。并且在安装显卡之前,最好先检查一下这些内容,编译一次CPU_ONLY确保各个依赖项没有问题。
Caffe安装(CUDA+cudnn)
1、安装CUDA
首先在官网上下载*.run文件。本文所下载的是cuda_7.5.18_linux.run。
下载完成后,直接运行:
$ sudo sh cuda_7.5.18_linux.run
然后会让你看一大段的文字,可以按[Q]直接跳过,然后就是根据提示选择。建议先用Ubuntu的设置中安装上NVidia显卡驱动,然后在这个过程中则选择不安装显卡驱动。至此,cuda安装成功。
也可以选择使用*.deb的方式安装,方法直接参照官方安装教程。
$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.518_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda
如果使用*.run的方法安装出现错误,也可以选择使用*.deb的方法安装,再用*.run方法安装上其他两个空余项。虽然看起来是一个不明智的方法,但是确实是有效的。
2、安装cudnn
cuDNN是GPU加速计算深层神经网络的库,可以大大提高计算速度。
首先去官网上注册个账号,然后填写一份调查问卷就可以下载cuDNN。
通常下载和CUDA对应的最新版本的cuDNN。
$ sudo tar xvf cudnn-8.0-linux-x64-v5.1.tgz
$ cd cuda/include
$ sudo cp cudnn.h /usr/local/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.10
$ sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
$ sudo ln -sf libcudnn.so.5 libcudnn.so
$ sudo ldconfig
注意,上面的版本号等信息要根据你下载的信息做调整,不可以直接copy。
3、安装OpenCV
在github上下载最新的opencv-3.1.0.zip。
$ unzip opencv-3.1.0.zip
$ cd opencv-3.1.0/
$ mkdir build
$ cd build/
$ cmake ..
这期间会显示现在安装的cuda和cudnn的版本。
$ ccmake ..
不用更改任何选项,直接按[C],然后按[G]。
$ make -j8
$ make install
$ sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
$ sudo ldconfig
$ sudo apt-get update
这是自己进行opencv的安装,网上也有人已经将整个步骤写成脚本,只需要运行相应的脚本就可以进行安装,非常方便。
4、环境变量配置
因为我要安装python版本和matlab版本的caffe,所以在此也要先把所需的依赖和安装的文件弄好。
python:
$ sudo apt-get install python-skimage python-protobuf python-yaml
$ sudo pip install easydict
matlab:
遵照网上的方法在ubuntu上安装Matlab2014a
然后切入正题:配置环境变量
$ export PYTHONPATH=${HOME}/caffe/python:$PYTHONPATH
$ export MATLABPATH=${HOME}/caffe/matlab:$MATLABPATH
$ export LD_LIBRARY_PATH=${HOME}/caffe/build/lib:$LD_LIBRARY_PATH
$ export PATH=/usr/local/cuda-7.5/bin:$PATH
$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
以上命令,如果只是在终端中输入,则会在该终端关闭后消失,所以我们把以上内容添加到/etc/profile文件的末尾:
$ sudo gedit /etc/profile
添加完毕后输入:
$ source /etc/profile
如此一来,即使重启后,环境变量中也依然有这些内容
5、Caffe编译
到这里,我们经历了这么多内容的配置,终于到了可以编译caffe的时候。
修改Makefile.config里面的内容,把CPU_ONLY
选项重新注释上,打开USE_CUDNN
选项,打开OPENCV_VERSION := 3
,根据Matlab安装路径设置MATLAB_DIR
,打开WITH_PYTHON_LAYER
。
转到刚才git下来的caffe目录下
$ cd caffe
$ make clean #将刚才编译的内容清除
$ make -j8
$ make test -j8
$ sudo make runtest -j8
$ make pycaffe
$ make matcaffe
剩下的就是每一步的等待了。
测试make pycaffe
是否成功,只需要进入python命令行,然后输入improt caffe
,若没有报错,则说明没有问题。
注:
1、在sudo make runtest -j8
中会出现一个小问题
libcudart.so.7.5 cannot open shared object file: No such file or directory
这个是环境变量设置的问题,可是环境变量我们刚才设置过了,那么如何解决呢?办法如下:
$ sudo cp /usr/local/cuda-7.5/lib64/libcudart.so.7.5 /usr/local/lib/libcudart.so.7.5 && sudo ldconfig
$ sudo cp /usr/local/cuda-7.5/lib64/libcublas.so.7.5 /usr/local/lib/libcublas.so.7.5 && sudo ldconfig
$ sudo cp /usr/local/cuda-7.5/lib64/libcurand.so.7.5 /usr/local/lib/libcurand.so.7.5 && sudo ldconfig
再重新sudo make runtest -j8
,便没有问题了。