您的位置:首页 > Web前端

Ubuntu 14.04 + Caffe配置记录(CPU模式,无GPU,无Cuda)

2016-10-17 20:30 471 查看
/****************************************************************************************************************************************************************

*备注:

*       我已经根据这篇文章顺利安装了caffe框架,大家可以放心使用,安装过程十分简单

*****************************************************************************************************************************************************************/

对于使用深度学习进行图像处理,Caffe是一个不错的框架选择。但是安装起来,并不是如想象中容易,稍不注意就会出错。

网上关于Ubuntu14.04下配置Caffe的资料很多,但是总是要自己亲自配置才能获得自己的心得。

从操作系统的版本转换到cuda的版本等变换,加上一下bug,中途浪费了许多时间,折腾了一两天,终于还是配置成功了。

具体参照的链接是:http://blog.csdn.net/u012746763/article/details/50352930

还有一个有cuda安装模式的参考链接主要为:http://www.cnblogs.com/dupuleng/articles/4213834.html

感谢网上许多热心伙伴的贡献,让新入门的可以少走弯路。

由于目前的项目并没有引入GPU使用,只是一个进行初步的测试版本,因此没有配置cuda和GPU模式,仍然使用CPU运行模式。

【注:以下指令都是控制台指令,通过Ctrl+Alt+T快捷打开】

1.  安装【build-essentials】

安装开发所需要的一些基本的包,

sudo apt-get install build-essential

如果不可行,则可以执行:

sudo apt-get update




2. 安装【BLAS】

BLAS 有三类,默认的是ATLAS,其余两种是MKL和OpenBlas, 我一开始安装的OpenBlas,但是后面安装不正确导致caffe部分出错,因此后来是安装的ATLAS,如果要求不高,建议安装ATLAS,方便和安装简单。

sudo apt-get install libatlas-base-dev

注意,这里的选择在后面caffe的配置文件中会需要配置。如果换过,也要记得后面的配置需要修改。

3. 安装【OpenCV】

许多人建议无需手动安装,可以直接下载Github的安装版本(https://github.com/jayrambhia/Install-OpenCV),下载之后进行解压,由于是zip格式的文件,

解压指令为:

unzip -o XXX.zip -d XXXPATH

这里的XXX.zip是路径下的该压缩文件,XXXPATH是指定想要解压到的路径,这里需要注意最好输入绝对路径,当然不怕出错的话,也可以使用相对路径。解压之后可以先check一下。

当然如果是使用git,则直接使用git clone +链接,就直接不需要解压了。这个需要事先已安装git的情况下(sudo apt-get install git)

安装【2.4.9】,不知道为什么网上为什么建议安装2.4.10,我试了两次,都是安装到不到一半电脑都完全卡死,完全不动。因此,这里我建议安装OpenCV2.4.9,这里也有一个链接(https://github.com/bearpaw/Install-OpenCV),其实都可以的。

下载之后,进行解压,然后进入下面目录:

cd Install-OpenCV/Ubuntu/2.4/


给当前目录下的所有sh文件添加可执行权限:

chmod +x *.sh


安装OpenCV2.4.9:

sudo ./opencv2_4_9.sh


4. 安装【dependencies】

任意路径下可执行

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,可以从官网上给出的链接下载:https://github.com/BVLC/caffe按照之前相同的方法解压(或者git)之后,进入到caffe目录,然后复制配置文件:

cd ./caffe-master/

cp Makefile.config.example Makefile.config



接下来就是修改配置文件Makefile.config:

sudo vim Makefile.config


如果没有安装vim,可以先安装使用sudo apt-get install vim(关于vi的使用,这里不赘述了)

(如果权限不足,可以先修改文件的权限:

chmod g+w Makefile.config


主要修改的部分为:

1. 将# CPU_ONLY
= 1前面的#去掉 并按“tab”键,(默认从tab处执行),因为这里没有安装GPU,需要使用CPU运行。

2. BLAS := atlas, 这是默认设置,如果不是安装的这个,则需要修改。具体修改,该语句上面有注释提示。

3. 设置MATLAB_DIR的路径:如我的是/usr/local/MATLAB/R2014a

这里,提供非常好的MATLAB for Linux的安装教程,

http://blog.csdn.net/lanbing510/article/details/41698285

http://www.cnblogs.com/txg198955/p/5477258.html

如果其中的下载链接失效,可以联系我。

有的时候安装好后指令输入sudo matlab之后,显示matlab command not found.的错误。

这个的解决方法是:

cd /usr/local/bin

sudo ln -s /usr/local/MATLAB/R2014a/bin/matlab matlab

之后只要在终端输入matlab就可以了。

设置完成后,则开始编译过程:

主要过程为:

sudo make all -j4

sudo make test

sudo make runtest



这里,需要注意的是,sudo必须加上,不然中间会报错....Permission Denied...。 另外,第一句中的j后面的数字是可以根据自己的机器的内核数改变,数字越大则表示可以多线程编译,则相应的速度会快。

===========================================================================================

===========================================================================================

【下面的就是自带的数据的训练和测试】

1. 使用MNIST数据集进行训练

(1)对提供的sh文件进行数据的预处理,生成训练和测试数据:

先到caffe下的以下路径:

cd data/mnist


运行:

sudo sh ./get_mnist.sh


会得到四个文件:t10k-images-idx3-ubyte, t10k-labels-idx1-ubyte, train-images-idx3-ubyte, train-labels-idx1-ubyte

(2)把数据处理成LDB文件,

sudo sh ./examples/mnist/create_mnist.sh

生成mnist-train-leveldb/ 和 mnist-test-leveldb/文件夹,这里包含了LDB格式的数据集
参考链接中说得很清楚,这里很容易犯的一个错误(事实上,我也犯了相同错误)是,这里如果先把目录切到/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

由于我们使用的是CPU,因此这里需要在配置文件中进行修改,

cd /examples/mnist/

vi lenet_solver.prototxt

将文件最后的solver_mode:GPU 改为 solver_mode: CPU

修改完成之后,就可以进行训练了:

sudo sh ./examples/mnist/train_lenet.sh


训练完成之后会得到一个lenet_iter_10000.caffemodel。这里训练的时候需要注意之前的问题,仍然是要在caffe根目录进行训练,不能直接到examples/mnist目录下运行sh

训练成功可得到:



2. 使用MNIST数据集进行测试

训练完成之后,我们当然需要对我们训练的模型进行测试。

我是参照的命令行方式。也可以使用python,matlab进行编译。

首先需要在cd到 ./caffe-master/examples/mnist文件夹下,新建一个sh文件,生成指令为:

touch test_lenet.sh    #生成.sh文件

接着进入该文件进行编辑:

vim test_lenet.sh

编辑的内容为(可Copy):

#!/usr/bin/env
sh

./build/tools/caffe
test --model=examples/mnist/lenet_train_test.prototxt --weights=examples/mnist/lenet_iter_10000.caffemodel -iterations 100

这里其实就只有两行,一定要保证这一点。否则会出错。

保存之后返回到caffe目录下运行测试,跟之前一样。

sudo
sh ./examples/mnist/test_lenet.sh

测试成功之后可以得到:



===========================================================================================

==========================================================================================

下面是对Python和MATLAB的编译

1.
安装和编译【Python】

安装Anaconda,许多人推荐安装,因为其能独立于系统自带的python库,并且提供大部分Caffe需要的科学运算Python库。

(1)下载官网:https://www.continuum.io/downloads

(2)下载完成之后,在下载目录执行

bash Anaconda2-4.1.0-Linux-x86_64.sh(替换自己下载的版本哈)

我下载的目前最新版,4.1.0,安装完成即将结束时,会询问时候将路径写到bashrc中,这里默认为no,也推荐选则no,接下来再自己配置。

(3)对配置文件进行修改:

sudo vim ~/.bashrc

文件末尾需要添加:

LD_LIBRARY_PATH=your_anaconda_path/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH

(4)安装python-dev和python-pip

sudo apt-get install python-dev python-pip

(5)执行pip

cd ./caffe-master/python

for req in $(cat requirements.txt); do sudo pip install $req; done

(6)编译

sudo make pycaffe

执行成功可见:



2. 安装和编译MATLAB

安装教程的链接之前提供过了,这里假设已经安装好MATLAB

(1)修改caffe目录下Makefile.config中MATLAB_DIR的路径,如果之前已经修改过,这里可跳过。

(2)cd到caffe目录下,运行

sudo make matcaffe

成功页面:



到这里,就已经差不多做完了整个的准备工作。

接下来就可以开始进行自己的测试数据集咯~~

如果有错,请广大网友指正。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: