Ubuntu16.04下安装Caffe(CPU版)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37592397/article/details/82907128

OS:Ubuntu16.04
使用Caffe Python接口
Envs:CPU(可以没有NVIDIA 显卡)
参考:CAFFE官网安装指南页面http://caffe.berkeleyvision.org/installation.html#compilation
https://blog.csdn.net/u010402483/article/details/51506616
https://blog.csdn.net/muzilinxi90/article/details/53673184
https://www.linuxidc.com/Linux/2016-09/135034.htm
https://www.cnblogs.com/------------/p/6070324.html

第一步:安装Caffe依赖

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libhdf5-serial-dev

Python需要2.7版本,这是操作系统本身已经安装好的. 输入python2.7 --version会显示具体的版本号说明安装了.
但是还需要sudo apt-get install python-dev
这里我要说明的是,我在Ubuntu中提前安装了Anaconda2,并在Anaconda2的环境下又安装了Anaconda3,但是这些对Caffe的安装影响不大,因为我安装的环境实在Ubuntu自带的Python2.7下进行安装的。

sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

然后把Caffe的源代码下载下来: git clone https://github.com/BVLC/caffe.git
(当然没有安装Git的,根据提示得先安装一下)
下载完成之后,进入caffe文件夹, 进入里面的python文件夹,然后输入

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

(pip如果没有安装得先安装一下:sudo apt install python-pip)

第二步:安装Caffe

到caffe文件夹, 使用模板写个Makefile.config. 具体就是先复制一下模板, 再改一些内容,用下面的命令就可以复制Makefile.config.

cp Makefile.config.example Makefile.config

-因为CPU mode, 所以在Makefile.config文件中找到CPU_ONLY := 1,将前面的#要去掉.表示CPU模式。
-找到下面两个路径要改成这样:(添加后面的两个hdf5的路径, 否则编译时报hdf5错误)

#Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

之后保存关闭即可。
以上工作做完以后,依次输入下面的命令:

make pycaffe
make all
make test
make runtest

结果显示ALL TESTS PASSED就安装好了, 只需要再加上一个PYTHONPATH;
另外, 这个make默认是用CPU单核运算,如果想要快一点, 比如我想使用四核, 在所有的命令后面加上-j4标签.如 make pycaffe -j4
如果上面4行某一行报错之后想要重试,建议先make clean再重新开始.

第三步:设置Python Caffe 路径

简单快捷的方式:

export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

其中,“/path/to/caffe/python”为克隆得到的caffe中python路径,根据克隆的路径不同,可以自行修改。
我自己克隆caffe路径为:

/home/peng/文档/caffe/python
所以上述命令在我的环境中应该为:
export PYTHONPATH=/home/peng/文档/caffe/python:$PYTHONPATH

当时上述命令执行后,如果窗口关闭后,那么下次还需再次执行该命令,才能够生效。

一次性的路径更改方法,永久有效:

A. 把环境变量路径放到 ~/.bashrc文件中

sudo echo export PYTHONPATH="~/caffe/python" >> ~/.bashrc

B. 使环境变量生效

source ~/.bashrc

测试是否安装成功

重新打开一个控制台,输入python2.7或者python

>>> import caffe
>>> 

如果出现上述情况,说明安装成功!

第四步:遇到的错误

基本上所有错误都是因为dependencies缺乏或者路径不对,所以根据具体的错误信息对症下药.例如:
A . -编译时显示hdf5错误, 按照上面所说, 增加路径之后就解决了.
-import caffe时显示scikit-image错误, 那就安装一下scikit-image就好了.

pip install scikit-image

B. 设置到这里开始编译,make pycaffe,结果报错,错误和numpy相关,重新打开Makefile.config目录,又查找了一下numpy的安装目录,发现对应不上,需要重新设置,需要把原本如下的内容:

# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
		/usr/lib/python2.7/dist-packages/numpy/core/include

更改为:

# NOTE: this is required only if you will compile the python interface.
# We need to be able to find Python.h and numpy/arrayobject.h.
PYTHON_INCLUDE := /usr/include/python2.7 \
		/usr/local/lib/python2.7/dist-packages/numpy/core/include

C. 配置完成后,>>> import caffe 出现下面的错误提示:
提示程序中的编码出现错误
解决方案:
使用febootstrap时碰到这个错误

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe6 in position 19: ordinal not in range(128)
经过搜索,发现应该是因为python2.x的默认编码是ascii,而代码中可能由utf-8的字符导致,解决方法是设置utf-8。

找到出错的文件,/home/peng/anaconda2/lib/python2.7/site-packages/matplotlib/backends/__init__.py在import后增加下面几行

import sys
if sys.getdefaultencoding() != 'utf-8':
    reload(sys)
    sys.setdefaultencoding('utf-8')

参考:https://blog.csdn.net/jewelsu/article/details/78683024?utm_source=copy
http://shirley-ren.iteye.com/blog/1018750

最后的最后:后续的学习。。。

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安装 http://www.linuxidc.com/Linux/2016-07/132860.htm

Ubuntu 16.04系统下CUDA7.5配置Caffe教程 http://www.linuxidc.com/Linux/2016-07/132859.htm

Caffe在Ubuntu 14.04 64bit 下的安装 http://www.linuxidc.com/Linux/2015-07/120449.htm

深度学习框架Caffe在Ubuntu下编译安装 http://www.linuxidc.com/Linux/2016-07/133225.htm

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置说明 http://www.linuxidc.com/Linux/2015-04/116444.htm

Ubuntu 16.04上安装Caffe http://www.linuxidc.com/Linux/2016-08/134585.htm

Caffe配置简明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 ) http://www.linuxidc.com/Linux/2016-09/135016.htm

猜你喜欢

转载自blog.csdn.net/m0_37592397/article/details/82907128