本文章是综合我多篇我参考的caffe安装教程,经过几天的尝试才安装成功。
因为我从头到尾安装了一次,所有的步骤都是遵循下面的步骤做的,
因此,对于电脑配置和我想当的用户可以按照我的步骤实现直接完美安装。
文章如有瑕疵,欢迎各位指正。
我现在的电脑配置是:ubuntu14.04系统,8G内存,GTX760显卡
下面开始安装:
1. 安装开发依赖包
<pre name="code" class="python"><span style="font-family: Arial, Helvetica, sans-serif;"></span>
sudo apt-get install build-essential
sudo apt-get install vim cmake git
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 #required by caffe
<span style="font-family: "microsoft yahei";">sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb </span>
sudo apt-get update
sudo apt-get install cuda
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/
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
4.设置环境变量
gedit /etc/profile
在打开的文件尾部加上
PATH=/usr/local/cuda/bin:$PATH
export PATH
保存后执行以下命令使之生效
source /etc/profile
同时创建以下文件
sudo vim /etc/ld.so.conf.d/cuda.conf
内容是
/usr/local/cuda/lib64
保存后,使之生效
sudo ldconfig
5. 安装CUDA Sample 及 ATLAS
5.1 Build sample
cd /usr/local/cuda/samples sudo make all -j4
我电脑是4核的,所以make 时候用-j4参数
5.2 查看驱动是否安装成功
cd bin/x86_64/linux/release
./deviceQuery
出现以下信息则成功
- ./deviceQuery Starting...
- CUDA Device Query (Runtime API) version (CUDART static linking)
- Detected 1 CUDA Capable device(s)
- Device 0: "GeForce GTX 670"
- CUDA Driver Version / Runtime Version 7.5 / 7.5
- CUDA Capability Major/Minor version number: 3.0
- Total amount of global memory: 4095 MBytes (4294246400 bytes)
- ( 7) Multiprocessors, (192) CUDA Cores/MP: 1344 CUDA Cores
- GPU Clock rate: 1098 MHz (1.10 GHz)
- Memory Clock rate: 3105 Mhz
- Memory Bus Width: 256-bit
- L2 Cache Size: 524288 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 Bus ID / PCI location ID: 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 670
- Result = PASS
安装ATLAS
ATLAS是做线性代数运算的,还有俩可以选:一个是Intel 的 MKL,这个要收费,还有一个是OpenBLAS,这个比较麻烦;但是运行效率ATLAS < OpenBLAS < MKL
我就用ATLAS咯:
sudo apt-get install libatlas-base-dev
这是按部就班的安装方法,据说github上有大神编译好的安装包,一步傻瓜式安装,想练手的童鞋可以看看。
- 搭建编译环境
- 安装依赖库
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
cd ~/opencv
将下载的zip文件复制到此opencv文件夹内,然后解压
unzip opencv-3.0.0.zip
- 安装opencv
<pre name="code" class="plain">sudo make
<pre name="code" class="plain">sudo make install
<pre name="code" class="plain">sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
- 编译samples程序
- 运行测试程序
测试程序根据版本不同会有不同的数据路径等等,这个需要你根据自己的Opencv版本适当调整一下路径。
8. 安装Caffe所需要的Python环境
首先安装pip和python-dev (系统默认有python环境的, 不过我们需要的使python-dev)
sudo apt-get install python-dev python-pip
然后执行如下命令安装编译caffe python wrapper 所需要的额外包
for req in $(cat requirements.txt); do sudo pip install $req; done
在执行上述命令时, 会报错导致不能完全安装所有需要的包。 可以按照官方建议安装anaconda包。 在anaconda官网下载.sh文件,执行,最后添加bin目录到环境变量即可。
9. 下载Caffe安装包
下载caffe,我把caffe放在用户目录下
cd git clone https://github.com/BVLC/caffe.git
再转到caffe的python目录,安装scipy
cd caffe/python sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
最后安装requirement里面的包,需要root权限
sudo su for req in $(cat requirements.txt); do pip install $req; done
如果提示报错,一般是缺少必须的包引起的,直接根据提示 pip install <package-name>就行了。
安装完后退出root权限
exit
10. 编译Caffe
首先修改配置文件,回到caffe目录
cd caffe cp Makefile.config.example Makefile.config gedit Makefile.config
这里仅需修改两处:
1))使用cuDNN
# USE_CUDNN := 1
这里去掉#,取消注释为
USE_CUDNN := 1
2) 修改python包目录,这句话
PYTHON_INCLUDE := /usr/include/python2.7 \ /usr/lib/python2.7/dist-packages/numpy/core/include
改为
PYTHON_INCLUDE := /usr/include/python2.7 \ /usr/local/lib/python2.7/dist-packages/numpy/core/include
3)将 OPENCV_VERSION := 3 前的#去掉
因为新安装的python包目录在这里: /usr/local/lib/python2.7/dist-packages/
接下来就好办了,直接make
make all -j4 make test make runtest make pycaffe
参考网站:
http://www.linuxidc.com/Linux/2015-07/120449.htm
http://blog.csdn.net/ubunfans/article/details/47724341
opencv:http://blog.csdn.net/u013915633/article/details/49886465
http://www.cnblogs.com/platero/p/3993877.html
http://blog.csdn.net/windrainlife/article/details/52217317