caffe是一个简洁高效的深度学习框架,具体介绍可以看这里http://caffe.berkeleyvision.org/,caffe环境配置过程可以参考这里:http://caffe.berkeleyvision.org/installation.html,我在搭建环境时搜集了许多资料,这里整理了一下,介绍一下caffe在无CUDA的环境下如何配置。
1. 安装build-essentials
安装开发所需要的一些基本包
sudo apt-get install build-essential如果出现essential包不可用的情况,可以执行下列命令解决:
sudo apt-get update2. 安装ATLAS for Ubuntu
执行命令:
sudo apt-get install libatlas-base-dev注:ATLAS, MKL,或OpenBLAS都可以,我这里选择安装ATLAS
unzip /home/liuxiabing/下载/Install-OpenCV-master.zip
chmod +x *.sh然后安装最新版本 (当前为2.4.10):
注:原来安装的是2.4.9,但这个版本存在bug,会出现这样的错误:NCVPixelOperations.hpp(51): error: a storage class is not allowed in an explicit specialization
解决该问题需要更换NCVPixelOperations.hpp,但现在这个hpp文件下载链接失效了,所以安装2.4.10版本最好,这个版本不存在任何bug,可以顺利安装成功。
sudo ./opencv2_4_9.sh
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
sudo apt-get update之后如果还存在问题,可以分开,一个一个单独安装,例如:
sudo apt-get install libprotobuf-dev sudo apt-get install libleveldb-dev如果还是不能安装,可以在“Ubuntu软件中心-编辑-软件源”中的“更新”中选择前两个,即“重要安全更新”,“推荐更新”,其他都不选,之后在“其它软件”中选择后两个,即两个“独立”,其他都不选,然后运行命令:
sudo apt-get update
sudo apt-get install python-dev python-pip然后执行如下命令安装编译caffe python wrapper 所需要的额外包(注意:需要先进入目录/caffe-master/python/下,再执行这个命令):
for req in $(cat requirements.txt); do sudo pip install $req; done
sudo pip install Cython
注:(1)如果requirements.txt中所有的包都成功安装了,则不再需要安装Anaconda了。
(2)安装完成后,可以查看一下当前用的是哪个python,确保该python是系统自带的python,而不是Anaconda包中的python。查看命令:
which python which pip
echo $PYTHONPATH vi ~/.bashrc打开bashrc之后,在最后一行添加下列语句:
export PYTHONPATH=/home/liuxiabing/caffe-master/python
sudo ldconfig
echo $PYTHONPATH
export PYTHONPATH=/home/liuxiabing/caffe-master/python
unzip /home/liuxiabing/下载/caffe-master.zip
sudo rm -rf caffe-master
cp Makefile.config.example Makefile.config
CPU_ONLY 是否只使用CPU模式,由于我没有NVIDIA的显卡,就没有安装CUDA,因此需要打开这个选项(即把前面的#去掉)。
其余的一些配置可以根据需要修改:
BLAS (使用intel mkl还是OpenBLAS,默认是atlas,如果安装的是atlas,就不用修改了)
MATLAB_DIR 如果需要使用MATLAB wrapper的同学需要指定matlab的安装路径, 如我的路径为 /usr/local/MATLAB/R2013b (注意该目录下需要包含bin文件夹,bin文件夹里应该包含mex二进制程序)
我的MATLAB_DIR修改完是这样的:
MATLAB_DIR := /usr/local/MATLAB/R2013b # MATLAB_DIR := /Applications/MATLAB_R2012b.app
关于python的配置,我没有修改,直接使用默认的就行了。
DEBUG 是否使用debug模式,打开此选项则可以在eclipse或者NSight中debug程序
注:在Makefile.config中,"#"表示注释
完成上述设置后,开始编译(编译也是在/caffe-master目录下进行的):
make all -j4 make test make runtest注意:-j4 是指使用几个线程来同时编译,可以加快速度,j后面的数字可以根据CPU core的个数来决定,如果CPU是4核的,则参数为-j4,也可以不添加这个参数,直接使用“make all”,这样速度可能会慢一点儿。
注:如果编译后出错了,修改完配置文件Makefile.config后重新编译,会提示“make 没有什么可编译的了”,可以试试这个方法:先运行命令
make clean
make all make test make runtest
在根目录下(/caffe-master)执行命令:
make matcaffe
make pycaffe
$ cd data/mnist $ sudo sh ./get_mnist.sh(2)重建LDB文件,就是处理二进制数据集为Caffe识别的数据集,以后所有的数据,包括jpe文件都要处理成这个格式,执行命令如下:
$ sudo sh ./examples/mnist/create_mnist.sh生成mnist-train-leveldb/ 和 mnist-test-leveldb/文件夹,这里包含了LDB格式的数据集
# cd examples/mnist # sudo sh ./create_mnist.sh可能会遇到这个错误:./create_mnist.sh: 16: ./create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found
# solver mode: CPU or GPU solver_mode: CPU
sudo vi lenet_solver.prototxt
先进入命令模式,使用a进入编辑模式,修改完之后,使用esc退出编辑模式,进入末行模式,再使用“:wq”保存修改并退出(“:q!”为退出但不保存修改)
修改完成后,再在根目录下(即/caffe-master目录)执行下面的命令进行训练:
$ sudo sh ./examples/mnist/train_lenet.sh
最终训练完的模型存储为一个二进制的protobuf文件,至此,Caffe安装的所有步骤完结。
注:如果进入到mnist目录下执行这个sh命令,会出现错误。即这样操作cd ./examples/mnist sudo sh ./train_lenet.sh会有一个caffe-master/.build_release/tool/caffe找不到或不存在的错误。
Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明
http://www.cnblogs.com/platero/p/3993877.html
CNN之Caffe配置
http://www.cnblogs.com/alfredtofu/p/3577241.html