caffe环境配置:ubuntu ,只有cpu!

前言:
首先说一下博主是本科生,因为毕设是相关的题目,所以没办法硬着头皮学,以前可从来没有接触过这方面,纯正小白,尤其是环境配置,网上大量教程都是关于GPU的配置,无奈博主的电脑配置太渣,没有英伟达的显卡,没办法,只能cpu跑了,环境最好是Ubuntu,问题关键是不懂这个操作系统啊,还要学习装双系统,各种懵逼,各种出问题,于是各种重装系统,最后总算是搞出来了,这次主要纪念一下我这苦逼的环境配置历程,也希望能够帮到小白,大神自动忽略。

环境:Ubuntu16.04 ,电脑配置没要求,不需要英伟达显卡,cpu配置

第一步:安装Ubuntu系统

博主这里给个双系统的链接,当然自行百度也行,这类教程很多。
http://jingyan.baidu.com/article/76a7e409bea83efc3b6e1507.html

第二步:配置caffe环境

声明:博主大部分采用了下面这篇博客的方法,
http://blog.csdn.net/u010193446/article/details/53259294,只是在此基础上自行安装,遇到了一些问题,在原作者博客基础上加入了自己遇到的问题以及解决方案,另外由于我是在window上写的博客,所以有的图片直接使用的是原作者的,尊重原创作者,特此声明!

1、检查自己的电脑是否具有GPU

输入:

lspci | grep -i nvidia

结果一:
如果未显示任何内容,则证明你的电脑不支持GPU,也就是没有英伟达显卡,其实稍微懂点电脑知识的自己的电脑配置应该还是知道的,这一步其实可以跳过去

结果二:
显示类似下图的内容:
这里写图片描述
则表明显卡版本GTX650,支持GPU,可以去http://developer.nvidia.com/cuda-gpus
验证,可以自行百度或者Googl相关教程,这里只介绍CPU环境配置。

2、依次安装依赖包

依次输入下列语句:

sudo apt-get install libprotobuf-dev 
sudo apt-get install libleveldb-dev
sudo apt-get install libsnappy-dev 
sudo apt-get install libopencv-dev
sudo apt-get install libhdf5-serial-dev
sudo apt-get install protobuf-compiler
sudo apt-get install libgflags-dev
sudo apt-get install libgoogle-glog-dev
sudo apt-get install liblmdb-dev
sudo apt-get install libatlas-base-dev

遇到的问题:后面会出现error,提示没发现boost

解决方法:安装依赖项boost

sudo apt-get install libboost-all-dev

PS:caffe配置需要好多依赖项,如果提示少哪些依赖项,安装上即可
推荐博客:http://blog.csdn.net/u010402483/article/details/51506616

3、下载caffe

方法1>:使用git安装

安装git

sudo apt-get install git

安装结束后,下载caffe

git clone git://github.com/BVLC/caffe.git

这样你会在跟目录下看到有个caffe目录

这里写图片描述

PS:博主亲测,这种方法下载速度特别慢,明明打开网页速度特别快,网速挺快的,但就是通过终端下载caffe特别慢,不给网速,所以我采取第二种方式。

方式2:直接下载

下载地址:https://github.com/BVLC/caffe
此种方式下载得到caffe-master.zip

配置步骤:默认你下载完的caffe-master.zip会保存在下载目录下,将caffe-master.zip 这个文件拷贝到主文件夹下,即/home/*(您的服务器名字)文件夹下,点击鼠标右键,选择提取到此处(即是解压)。

这里写图片描述

PS:切记,方式一得到的文件夹名为caffe,方式二得到的文件夹名caffe-master,两个的内容是一样的,只是在后续步骤中注意匹配对应的文件名。博主使用的是方式2,所以后续文件夹为caffe-master。

4、编译caffe

1>进入caffe目录

cd caffe/

如果是方式2下载的caffe,那么进入caffe-master目录

cd caffe-master/

2>生成Makefile.config文件

这里是将caffe-master目录下自带的Makefile.config.example文件复制一份并更名为Makefile.config,命令如下:

cp Makefile.config.example Makefile.config

此时目录下就会有Makefile.config文件,如下图:

这里写图片描述

3>修改Makefile.config文件中的配置

1>>以记事本方式打开Makefile.config文件

sudo gedit Makefile.config

2>>去掉CPU_ONLY前面的#号,如下图

这里写图片描述

#号代表注释,把#号去掉就代表该行代码运行。

3>>配置引用文件路径(主要是HDF5的路径问题)

PS:这个很重要,我也试过其他方法,都失败了,博主亲测该方法可行。

原来的路径配置如下图:

这里写图片描述
修改为下图:

这里写图片描述

增加的内容为:

/usr/include/hdf5/serial
/usr/lib/x86_64-linux-gnu/hdf5/serial

注意中间有个空格。

4>>有的教程上说要把 # BLAS := atlas 前面的#号去掉,博主配置的时候发现前面本来就没有#号,自己还是看一下吧,有的话就去掉。

5>>执行编译

sudo make clean
sudo make all -j8
sudo make test -j8
sudo make runtest -j8

PS:最好先make clearn一下,后面的-j8可加可不加,加上只是为了多核运行提高速度。

执行完 make all,如下图

这里写图片描述

执行完runtest之后,效果如下:

这里写图片描述

5、编译Python接口

caffe具有Python和C++接口,这里只展示如何编译Python接口

1>安装pip

sudo apt-get install python-pip

2>安装Python接口依赖库

在caffe-master根目录下,有个python文件夹,文件夹里面有个requirements.txt,里面有需要的依赖库和版本信息,按照其安装即可,在安装前,需要先安装fortran编辑器(gfrotran),因为安装scipy库时需要它,命令如下:

sudo apt-get install gfortran
cd ~/caffe-master/python
for req in $(cat requirements.txt); do pip install $req; done

PS:这个地方需要下载好多package,不给网速,很慢,最后博主用手机4G开的热点。。。

安装结束后,可以执行如下语句验证:

sudo pip install -r requirements.txt

可以看到,安装成功的,都会显示Requirement already satisfied,没安装成功的,会继续进行安装。
PS:博主装的时候显示的是继续安装。。

3>将caffe-master根目录下的python文件夹加入到环境变量

1>>打开配置文件bashrc

sudo gedit ~/.bashrc

2>>在文件的最下面添加

export PYTHONPATH=/home/heimu/caffe-master/python:$PYTHONPATH

如下图:

这里写图片描述

PS:这里注意路径的选择,我的路径为/home/heimu/caffe-master/python。

查看路径的方式1:
终端输入:

cd ~/caffe-master/python
pwd

方式2:
直接在可视化文档找到该文件,CTRL+T即可显示当前路径。

3>>执行更新配置(有时更新不起作用时,可以重启电脑就会有效):

sudo ldconfig

PS:博主重启了一下,似乎并没有什么反应,不过似乎不影响

4>编译Python接口

cd ~/caffe-master
make pycaffe -j8

PS:这个地方一定要先进入caffe-master的当前目录

这个地方出错了:

fatal error: numpy/arrayobject.h: No such file or directory.

解决方案1:

打开Makefile.config文件

sudo gedit Makefile.config
原来的代码:
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   
其实就是加入了local

PS:用这种方法并没有解决我的问题,每个人电脑不一样,可能能解决你的问题,我用的方案二

方案2:推荐博客http://blog.csdn.net/wuzuyu365/article/details/52430657

终端输入

sudo apt-get install python-numpy

然后重新编译:

sudo make pycaffe -j8

显示结果如下图:

这里写图片描述

然后编译成功了!!!

5>验证Python接口

进入python环境,终端输入

cd ~
python

导入caffe

import caffe

没有出错,证明导入成功!

PS:这个地方你也可以导入一下numpy,scipy

import numpy
import scipy

结果如下图:

这里写图片描述

至此为止,caffe的CPU环境配置成功!!!

第三步:验证Mnist数据集

这个步骤可以忽略,想要验证的话推荐博客
http://blog.csdn.net/u010193446/article/details/53259856
很详细的步骤。

PS:真不容易啊,我是搞了好多天才成功的,不懂linux啊,另外提醒一下,不同的电脑配置不一样,安装的ubuntu版本也不一样,所以可能会出现各种各样的问题,那么只能自行百度Google了,我按照好多教程来,结果各种出错,实在解决不了就重装系统吧,感觉ubuntu总是出现各种问题,哎,终于成功了,写篇博客纪念一下,再次特别感谢博主《莫欺丶少年穷》!!!

特别感谢的博客:
http://blog.csdn.net/u010193446/article/details/53259294
http://blog.csdn.net/u010402483/article/details/51506616
http://blog.csdn.net/samylee/article/details/50935943

猜你喜欢

转载自blog.csdn.net/heimu24/article/details/53375873
今日推荐