Ubuntu 14.04.4 LTS + Caffe无GPU配置方案
(使用Mnist对Caffe安装进行测试)
最近想学习一下Caffe,并准备在自己笔记本上进行安装,从网上测试了很多方案,总是存在一些问题,经历多次之后,自己安装成功了,并写下这篇安装指南,希望对其他人有帮助。
笔记本配置:
l ThinkPad、16G内存、64位Ubuntu14操作系统、无GPU配置
安装Caffe前需要的一些库:
l CUDA library
l BLAS(可以选择ATLAS、MKL、OpenBLAS)
l OpenCV
l Boost
l Python
l Matlab(为了生成caffe的matlab的调用接口,如果没这方面的需要的话,可以不安装)
安装步骤:
1、安装开发使用的基本包
sudoapt-get install build-essential
2、安装Caffe依赖的必要项
sudoapt-get install vim cmake git
sudoapt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-devlibboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-devliblmdb-dev protobuf-compiler
该安装必要项中包含caffe依赖的OpenCV。
3、安装CUDA
一般电脑都有双显卡:Intel 的集成显卡 + Nvidia 的独立显卡。要想两个显卡同时运行,需要关闭 lightdm 服务。
l 首先从https://developer.nvidia.com/cuda-downloads下载CUDA,Ubuntu14需要下载6.5以上的版本,如果版本低的话,会可能出现其他的安装问题。本人下载的是CUDA6.5,在安装过程中,出现Unsupported complier问题,解决版本:运行cuda-xx-xx.run文件时,指定—override。
l BIOS中设置Graph Devices项,在启动时按下F2,选择Configuration,里面有一个Graph Devices项,选择主要显示设备。
l 安装CUDA需要在纯命令下进行,按Ctrl+alt+F1进入tty,执行
sudo service lightdm stop
sudo ./cuda-linux64-xxx.run
在安装过程中,由于我们只需要在CPU下进行caffe计算,因此只需要安装cuda-toolkit包,NVIDIA驱动可以选择不安装,SAMPLE包安装由个人意愿决定。
l 安装完成后在/etc/profile中添加环境变量,在文件最后添加
PATH=/usr/local/cuda-6.5/bin:$PATH
export PATH
保存后,执行下列命令,使环境变量立即生效
source /etc/profile
l 添加lib库路径
在/etc/ld.so.conf.d/目录下增加文件cuda.conf,内容如下
/usr/local/cuda-6.5/lib64
执行下列命令立刻生效
sudo ldconfig
l 退出命令行
sudo service lightdm start
按Ctrl+alt+F7回到图像界面
4、安装BLAS
BLAS有三个版本:ATLAS,MKL, OpenBLAS,为了安装方便一些,本人选择的是ATLAS。
sudo apt-get installlibatlas-base-dev
5、下载Caffe和安装Python
首先需要安装pip
sudo apt-get installpython-pip
再下载caffe,我把caffe放在用户目录下
cd
git clonehttps://github.com/BVLC/caffe.git
再转到caffe的python目录,安装scipy
cd caffe/python
sudo apt-get installpython-numpy python-scipy python-matplotlib ipython ipython-notebookpython-pandas python-sympy python-nose
最后安装requirement里面的包,需要root权限
sudo su
for req in $(catrequirements.txt); do pip install $req; done
如果提示报错,一般是缺少必须的包引起的,直接根据提示 pip install <package-name>就行了。
安装完后退出root权限
exit
6、编译Caffe
l 进入caffe目录,复制一份Makefile.config
cd ~/caffe
cpMakefile.config.example Makefile.config
geditMakefile.config
· 根据自己环境修改相应内容
1 取消 CPU_ONLY := 1前面的注释
2. cuda 安装路径改为自己的路径 : CUDA_DIR := /usr/local/cuda-6.5
3. 配置路径:实现caffe对python的路径(因为新安装的python包目录在这里: /usr/local/lib/python2.7/dist-packages/)
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
l 编译caffe
make all -j4
make test
make runtest
make pycaffe
7、使用MNIST数据集进行测试
l 将终端定位到Caffe根目录;
l 下载MNIST数据库并解压缩:$./data/mnist/get_mnist.sh
l 将其转换成Lmdb数据库格式:$ ./examples/mnist/create_mnist.sh
l 训练 model:$./examples/mnist/train_lenet.sh,由于默认的是在GPU下进行训练,因此需要修改lenet_solver.prototxt文件中的solver_mode字段值为CPU
l 测试MNIST
./build/tools/caffe test -modelexamples/mnist/lenet_train_test.prototxt -weights examples/mnist/lenet_iter_10000.caffemodel-iterations 100
由于只有CPU进行计算,速度比较慢,需要等一段时间。
参考文献:
l Caffe + Ubuntu14.04 64bit + CUDA6.5 + 无GPU 配置(http://www.cnblogs.com/dupuleng/articles/4213834.html )
l Caffe在Ubuntu14.04 64bit 下的安装(http://www.linuxidc.com/Linux/2015-07/120449.htm )