ubuntu16.04下安装caffe(cpu only)

首先安装好ubuntu16.04,然后开始准备安装caffe。

一.安装依赖包

首先执行以下命令

sudo apt-get update

安装caffe之前需要安装一些依赖库:

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  
sudo apt-get install --no-install-recommends libboost-all-dev

二.下载caffe源码,整个过程比较慢长。

使用git指令下载caffe。

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

三.编译caffe

1.生成Makefile.config文件:

cp Makefile.config.example Makefile.config

2.修改配置Makefile.config 文件

   1)编辑Makefile.config文件:

sudo gedit Makefile.config

或者直接进入文件内打开文件进行修改。 

 2)去掉CPU_ONLY:=1前面的#号:

3)配置引用文件路径:(增加部分主要是解决新版本下,HDF5的路径问题)

将   INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 

换成 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/include/hdf5/serial/

(这个其实可以根据具体路径进行转换,一般此路径是对的,要是还出现问题,使用命令行查找该文件的正确路径即可)

3.在Makefile文件的第173行,把 hdf5_hl 和hdf5修改为hdf5_serial_hl 和 hdf5_serial,也就是把下面第一行代码改为第二行代码。

LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_hl hdf5
变成
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial

4.新建build,执行编译

rm -r build
mkdir build
cd build
cmake ..
make all  
make test  
make runtest 

编译完成之后出现如下界面(网上找的,并非本人截图):

ubuntu16.04下安装caffe(cpu only)_第1张图片

四:编译Python接口

1.安装pip以及numpy:

sudo apt-get install python-pip  
sudo apt-get install python-numpy

2.安装python接口依赖库:

在安装依赖库前,需要先安装gfortran编辑器:

sudo apt-get install gfortran  

然后安装依赖库,首先进入caffe目录下的python文件中:

cd caffe/python

安装依赖库:

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

指定iPython版本

sudo pip install ipython==5.3.0

安装完后,执行下面一条语句,该语句的作用是检查依赖库是否都已经安装成功,如果成功会显示requirement already saitisfied,如果未成功会继续安装:

sudo pip install -r requirements.txt 

3.添加环境变量:

打开配置文件bashrc:

sudo gedit ~/.bashrc

或者直接打开该文件也可以,在文件的最后面添加:

export PYTHONPATH=~/caffe/python:$PYTHONPATH

这里需要根据自己的路径进行一下调整。

保存文件后关闭,然后输入下面语句,使环境变量生效:

source ~/.bashrc  

4.编译python接口:(在caffe/build目录下)

make pycaffe 

5.验证python接口:

进入python环境:

python

引入caffe包:

import caffe

如果引入caffe包无其他显示,如下图所示:ubuntu16.04下安装caffe(cpu only)_第2张图片

说明python接口编译成功。那么恭喜你caffe安装编译成功。

如果显示no model named caffe则说明python接口编译失败,重新检查上述步骤或百度解决。

接下来个人亲历

ubuntu16.04下安装caffe(cpu only)_第3张图片

错误信息为 No module named skimage.io

这其实说明python接口编译成功,只是skimage或者部分依赖库没有安装。

python-skimage包依赖于matplotlib,scipy,pil,numpy和six。

首先安装依赖包:

sudo apt-get install python-matplotlib python-numpy python-pil python-scipy
sudo apt-get install build-essential cython

安装skimage包:

sudo apt-get install python-skimage

之后继续import

ubuntu16.04下安装caffe(cpu only)_第4张图片

发现缺少google.protobuf.internal

sudo apt-get install python-protobuf

再import。编译成功!

最后这部分缺少的model因人而异,看一下自己缺少什么model,百度一下都可以解决。

至此,整个caffe安装结束。

你可能感兴趣的:(ubuntu16.04下安装caffe(cpu only))