Caffe的安装真是无比的但疼,请一定耐心调试,另官网给出的安装教程可移植性不强.
自己按网上博客安装了几次特此总结,以方便以后再次安装
其实难点主要是cuda的安装,cuda安装成功之后后面的步骤会很顺利
本文中出现的所有wanzew是我的username,您在操作时需要换成你的username
1.安装开发所需的依赖包
$ sudo apt-get install build-essential
$ sudo 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-compiler
遇到bulid-essential依赖: dpkg-dev (>= 1.13.5) 但是它将不会被安装的问题(类似问题请自行百度)
这么解决(参考):
$ sudo aptitude update
$ sudo aptitude install build-essentia
-----sudo apt-get update失败后可以更换源试试-----
禁用显卡驱动
Ubuntu自带的显卡驱动是nouveau,但是cuda不支持nouveau。如果想使用cuda进行GPU计算,必须安装NVIDIA显卡驱动,安装NVIDIA驱动之前要禁用nouveau。
禁用方式:
$ cd /etc/modprobe.d
$ sudo vi nvidia-graphics-drivers.conf
#写入:
blacklist nouveau
保存wq!
退出然后验证:
$ cat nvidia-graphics-drivers.con
将 ”rdblacklist=nouveau nouveau.modeset.modeset=0“ 这句话写入到/etc/default/grub末尾:
$ sudo vi /etc/default/grub
末尾写入:rdblacklist=nouveau nouveau.modeset=0
保存并退出: wq!
检查:
$ cat /etc/default/grub
2. 安装cuda(下载地址)
下载之后进入下载目录用md5sum命令进行md5校验:
会显示: 5cf65b8139d70270d9234d5ff4d697c7(跟官网一样,不一样的的、话需要重新下载)
$ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb #cuda-repo-<distro>_<version>_<architecture>.deb是下载的cuda名字,请自行更换
$ sudo apt-get update # 失败的话可以换源试试
$ sudo apt-get install cuda
此步骤比较重要,安装完成之后后面的就轻松多了!!!
安装成功之后会在你的/usr/local文件夹下出现cuda文件夹
安装CUDA SAMPLE 并检查GPU:
进入/usr/local/cuda/samples, 执行下列命令来build samples
$ sudo make all -j8
全部编译完成后, 进入 ./bin/x86_64/linux/release, 运行deviceQuery
$ ./deviceQuery
如果出现显卡信息, 则驱动及显卡安装成功:
Device 0: "GeForce GTX 750 Ti"
CUDA Driver Version / Runtime Version 7.5 / 7.5
CUDA Capability Major/Minor version number: 5.0
Total amount of global memory: 1023 MBytes (1073020928 bytes)
( 5) Multiprocessors, (128) CUDA Cores/MP: 640 CUDA Cores
GPU Max Clock rate: 1110 MHz (1.11 GHz)
Memory Clock rate: 2700 Mhz
Memory Bus Width: 128-bit
L2 Cache Size: 2097152 bytes
Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp size: 32
Maximum number of threads per multiprocessor: 2048
Maximum number of threads per block: 1024
Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
Maximum memory pitch: 2147483647 bytes
Texture alignment: 512 bytes
Concurrent copy and kernel execution: Yes with 1 copy engine(s)
Run time limit on kernels: Yes
Integrated GPU sharing Host Memory: No
Support host page-locked memory mapping: Yes
Alignment requirement for Surfaces: Yes
Device has ECC support: Disabled
Device supports Unified Addressing (UVA): Yes
Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0
Compute Mode:
< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 750 Ti
Result = PASS
CUDA补全安装计划请参考:点击打开链接
3. 安装cuDNN (cuDNN可去官网申请)
申请网址:https://developer.nvidia.com/cudnn
我下载的是:cudnn-7.5-linux-x64-v5.0-ga.tgz
进入下载目录解压:
解压后文件夹是这样子的:
$ tar -zxvf cudnn-7.5-linux-x64-v5.0-ga.tgz
$ cd cuda
$ sudo cp lib64/lib* /usr/local/cuda/lib64/
$ sudo cp include/cudnn.h /usr/local/cuda/include/
后两行命令是将cuDNN库和include文件copy到CUDA相应目录下。
更新软连接
$ cd /usr/local/cuda/lib64/
$ sudo chmod +r libcudnn.so.5.0.5
$ sudo ln -sf libcudnn.so.5.0.5 libcudnn.so.5
$ sudo ln -sf libcudnn.so.5 libcudnn.so
$ sudo ldconfig
接下来就设置cuda的环境变量:
在/etc/profile中添加CUDA环境变量
$ sudo gedit /etc/profile
添加内容
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存后, 执行下列命令, 使环境变量立即生效:
$ source /etc/profile
同时需要添加lib库路径: 在 /etc/ld.so.conf.d/新建文件 cuda.conf:
$ sudo vi /etc/ld.so.conf.d/cuda.conf
写下如下内容:
<span style="font-size:14px;">/usr/local/cuda/lib64</span>
保存后,执行下列命令使之立刻生效:
$ sudo ldconfig
4. 安装Intel MKL 或Atlas
Atlas安装比较简单,这里安装Atlas
$ sudo apt-get install libatlas-base-dev
5. 安装OpenCV
1)下载安装脚本https://github.com/bearpaw/Install-OpenCV
2)进入目录 Install-OpenCV/Ubuntu/2.4
3)执行脚本
可参考README
$ sudo sh ./opencv2_4_10.sh
安装时间会比较长,我的电脑二十分钟。
6. 安装Caffe所需要的Python环境
安装Anaconda
https://www.continuum.io/downloads#_unix
我下载的是Python2.7版本的,切换到文件所在目录,执行
bash Anaconda2-4.1.1-Linux-x86_64.sh
添加Anaconda Library Path 在/etc/ld.so.conf最后加入以下路径
$ sudo gedit /etc/ld.so.conf
写入:
/home/wanzew/anaconda2/lib
在~/.bashrc最后添加下边路径
$ export LD_LIBRARY_PATH="/home/wanzew/anaconda2/lib:$LD_LIBRARY_PATH"
~/.bashrc在home文件夹下,默认为隐藏文件,按Ctrl+H可以显示出来
caffe源码下载
进入caffe-master下的python目录 执行如下命令,安装caffe所需要的剩余依赖项
for req in $(cat requirements.txt); do pip install $req; done
caffe-master/python/requirements.txt 内容如下:都是caffe运行所需要的依赖项
7. MATLAB安装
Matlab2014A安装与激活(请自行搜索,其实就是用到以下几条命令,特别简单):
$ sudo mkdir /mnt/temp
$ sudo mount -o loop /home/wanzew/MATLAB/MATHWORKS_R2014A.iso /mnt/temp/
$ cd /mnt/temp/
$ ./install
$ sudo /home/wanzew/Matlab/bin/matlab
$ sudo cp /home/wanzew/Matlab/Crack/Linux/libmwservices.so /home/wanzew/Matlab/bin/glnxa64/
$ sudo ln -s /path/to/MATLAB/R2015b/bin/matlab /usr/local/bin/matlab
$ sudo umount /mnt/temp/
8. 编译Caffe
进入caffe-master目录,复制一份Makefile.config.example
<span style="font-size:14px;"><code></code>$ cp Makefile.config.example Makefile.config</span>
将上面所作的所有工作告诉Makefile.config文件:
USE_CUDNN := 1
CUDA_DIR := /usr/local/cuda
BLAS := atlas
MATLAB_DIR := /home/wanzew/Matlab
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
编译:
$ make all -j48
$ make test -j8
$ make runtest -j8
编译matlab接口:
注:编译matcaffe时,需要使用g++和gcc,Ubuntu14.04的g++是4.8+,而matlab为4.7,但是在编译时并不需要对g++进行降级。
降级实现:
$ sudo apt-get install -y gcc-4.7
$ sudo apt-get install -y g++-4.7
$ cd /usr/bin
$ sudo rm gcc
$ sudo ln -s gcc-4.7 gcc
$ sudo rm g++
$ sudo ln -s g++-4.7 g++
# 然后编译:
$ make matcaffe -j8
编译成功之后会在/caffe-master/matlab/+caffe/private文件夹下生成caffe_.mexa64文件
caffe的matlab接口配置完成。
编译python接口:
$ make pycaffe -j8
添加~/caffe/python到$PYTHONPATH:
在
/etc/profile末尾添加:
export PYTHONPATH=/home/wanzew/caffe-master/python:$PYTHONPATH
$ source /etc/profile
完成!