本博客是CPU的运行,GPU的一直等有时间在写。要是想安装gpu的版本的,可参考:先付上一些成功安装的博客的吧
1.http://blog.csdn.NET/xierhacker/article/details/53035989
2.http://blog.csdn.Net/Lee_J_R/article/details/52693724?locationNum=7&fps=1
以上两篇博客还不错,比较详细。(注:在配置的一些问题,可以在下面提问,我配置的是gtx1080,自从搞深度学习,配置不少于20次了,有点经验,都是自己在搞,以前的辛酸不提了。)
CPU配置:
http://blog.csdn.net/autocyz/article/details/51783857 (2016.6月份的博文,本文没有参考这篇博客,不过感觉写的挺好 贴上连接)
caffe是一个简洁高效的深度学习框架,具体介绍可以看这里http://caffe.berkeleyvision.org/,caffe环境配置过程可以参考这里:http://caffe.berkeleyvision.org/installation.html,我在搭建环境时搜集了许多资料,这里整理了一下,介绍一下caffe在无CUDA的环境下如何配置。
1. 安装build-essentials
安装开发所需要的一些基本包
- sudo apt-get install build-essential
如果出现essential包不可用的情况,可以执行下列命令解决:
2. 安装ATLAS for Ubuntu
执行命令:
- sudo apt-get install libatlas-base-dev
注:ATLAS, MKL,或OpenBLAS都可以,我这里选择安装ATLAS
3. 安装OpenCV
这个尽量不要手动安装, Github上有人已经写好了完整的安装脚本:https://github.com/jayrambhia/Install-OpenCV
下载该脚本,解压".zip"文件,解压命令:
安装2.4.9 (不推荐)
https://gist.github.com/bearpaw/c38ef18ec45ba6548ec0
- 下载安装脚本 https://github.com/bearpaw/Install-OpenCV
- 进入目录
Install-OpenCV/Ubuntu/2.4
- 执行脚本
sh sudo ./opencv2_4_10.sh
安装2.4.9(推荐)
- unzip /home/wzy/下载/Install-OpenCV-master.zip
进入Ubuntu/2.4 目录, 给所有shell脚本加上可执行权限:
然后安装最新版本 (当前为2.4.9):
4. 安装其他依赖项
Ubuntu14.04用户执行
- 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
使用其它系统的可以参考官网介绍。
5. 编译Caffe
完成了上述环境的配置,就可以编译Caffe了!
下载caffe安装包,下载地址:https://github.com/BVLC/caffe
解压该压缩包,解压缩命令:
这里也可以直接:sudo git clone https://github.com/BVLC/caffe.git
- sudo unzip /home/wzy/下载/caffe-master.zip
注:如果解压位置出错了,可以使用以下命令删除该目录及所有的子目录:
进入caffe根目录, 首先复制一份Makefile.config,命令:
- cp Makefile.config.example Makefile.config
然后修改里面的内容,主要需要修改的参数包括:
1.修改文件权限 规则:chmod [who] [+ | - | =] [mode] 文件名¼
使用 chmod g+w Makefile.config
2.打开文件进行修改
使用 sudo vim Makefile.config
按“i”键开始修改,修改结束后按esc键,键入“:wq”保存并退出
修改 将# CPU_ONLY = 1前面的#去掉 并按“tab”键,(默认从tab处执行)
CPU_ONLY 是否只使用CPU模式,由于我没有NVIDIA的显卡,就没有安装CUDA,因此需要打开这个选项。
其余的一些配置可以根据需要修改:
BLAS (使用intel mkl还是OpenBLAS)
MATLAB_DIR 如果需要使用MATLAB wrapper的同学需要指定matlab的安装路径, 如我的路径为 /usr/local/MATLAB/R2013b (注意该目录下需要包含bin文件夹,bin文件夹里应该包含mex二进制程序)
DEBUG 是否使用debug模式,打开此选项则可以在eclipse或者NSight中debug程序
完成上述设置后,开始编译:
- sudo make all -j16 (我的电脑是16的)
注意:-j4 是指使用几个线程来同时编译,可以加快速度,j后面的数字可以根据CPU core的个数来决定,如果CPU是4核的,则参数为-j4,也可以不添加这个参数,直接使用“make all”,这样速度可能会慢一点儿。
6.使用MNIST数据集进行测试
Caffe默认情况会安装在$CAFFE_ROOT,就是解压到的那个目录,例如:$ home/username/caffe-master,所以下面的工作,
默认已经切换到了该工作目录。下面的工作主要是测试Caffe是否工作正常,不做详细评估。具体设置请参考官网:
http://caffe.berkeleyvision.org/gathered/examples/mnist.html
(1)数据预处理
可以用下载好的数据集,也可以重新下载,直接下载的具体操作如下:
- $ 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格式的数据集
注:新版caffe都需要从根目录上执行,如果使用下列命令执行:
- # cd examples/mnist
- # sudo sh ./create_mnist.sh
可能会遇到这个错误:./create_mnist.sh: 16: ./create_mnist.sh: build/examples/mnist/convert_mnist_data.bin: not found
(3)训练mnist
如果没有GPU,只有CPU的话,需要先修改examples/mnist目录下lenet_solver.prototxt文件,将solver_mode:GPU改为 solver_mode:CPU,修改后结果如下所示:
- # solver mode: CPU or GPU
- solver_mode: CPU
修改时可以使用vi编辑命令(ubuntu14.0.4下也可以直接双击打开,修改后保存即可),如果是只读文件,不能编辑,可以用sudo命令,比如:
- sudo vi lenet_solver.prototxt
先进入命令模式,使用a进入编辑模式,修改完之后,使用esc退出编辑模式,进入末行模式,再使用“:wq”保存修改并退出(“:q!”为退出但不保存修改)
修改完成后,再在根目录下(即/caffe-master目录)执行下面的命令进行训练:
- $ sudo sh ./examples/mnist/train_lenet.sh
最终训练完的模型存储为一个二进制的protobuf文件:lenet_iter_10000
至此,Caffe安装的所有步骤完结。
注:如果进入到mnist目录下执行这个sh命令,会出现错误。即这样操作
- cd ./examples/mnist
- sudo sh ./train_lenet.sh
会有一个caffe-master/.build_release/tool/caffe找不到或不存在的错误。
7.使用MNIST数据集进行测试
得到训练模型 lenet_iter_10000,利用命令行的方法对模型进行测试。
在caffe官网给出来了三种编译方式 命令行、python、matlab.这里使用的是命令行的方法
1.bash下建立.sh执行文件(脚本) 先cd到 ./caffe-master/examples/mnist文件夹下,命令行输入
备注:脚本的书写可参考Caffe官网tutorial/interfaces中TEST的讲解
- touch test_lenet.sh #生成.sh文件
- sudo vim test_lenet.sh #进入.sh文件键入内容
- #键入的内容为
- #!/usr/bin/env sh
- "空行"
- ./build/tools/caffe test --model=examples/mnist/lenet_train_test.prototxt --weights=examples/mnist/lenet_iter_10000.caffemodel -iterations 100
备注:因为没有用GPU所以官网指导文档中的"gpu 0"这部分参数就没有添加进去
-
保存.sh文件 按ESC键 然后键入:wq
(因为编辑器的问题,自动换行了,所以这里插入了图片)
2.将目录返回到caffe-master目录下 一路 cd ..
- sudo sh ./examples/mnist/test_lenet.sh
最后放两张测试成功的图片
训练过程
测试过程
8.要是大家想测试自己的数据集的话,可以参考链接:http://blog.csdn.net/u014696921/article/details/52156487
9.编译python wrapper
安装python
编译
(1)安装
Anaconda,到caffe官网指导文档中安装指导页面,进入Anaconda官网,下载相应版本
(2)到下载目录,执行
bash Anaconda2-2.4.1-Linux-x86_64.sh (自己下载的是什么版本就用什么版本)
(3)cd到根目录下,执行
sudo vim ~/.bashrc
对文件进行如下修改(文件最后添加就可以)
- # add library path
- LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
(4)
安装pip和python-dev ,执行
- sudo apt-get install python-dev python-pip
(5)cd到caffe-master/python目录下,执行
- for req in $(cat requirements.txt); do sudo pip install $req; done
(6)cd到caffe-master目录下,编译执行
9.配置MATLAB2016: Ubuntu 14.04安装Matlab 2016b教程
10.编译matlab wrapper
安装matlab(参考之前的博文)
编译
(1)安装matlab
(2)修改Makefile.config 在caffe-master目录下
(3)cd到caffe-maste目录下,编译执行
- sudo make matcaffe
- 注意:配置2014的时候,一直要把gcc降级,之前一直做,没有成功,最后还是安装了2016版本的不用降级,方便,见Ubuntu 14.04安装Matlab 2016b教程