Ubuntu16.04安装caffe CPU版

写在前面:

在安装caffe的过程中实在是遇到太多坑了,因为我之前在Ubuntu16.04上配置过TensorFlow GPU版,又是安装CUDA8.0,又是安装cuDNN6.0,过程中还因为一些兼容问题降级过gcc版本,这才导致了在第一次安装caffe时遇到了不必要的问题,在后面会说明该问题的解决办法,但是安装caffe本身并不困难,于是我决定重装Ubuntu16.04系统,然后重新尝试安装了caffe并且成功。以下是安装过程。

1.安装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
apt-get install --no-install-recommends libboost-all-dev 

2.安装git

sudo apt-get install git

3.安装caffe

下载caffe:

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

进入到caffe目录下:

cd caffe/

拷贝一个Makefile.config副本:

cp Makefile.config.example Makefile.config

修改Makefile.config文件:

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

(2)原来的路径配置:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

修改为(解决如果不修改出现的找不到hdf5相关文件的问题)

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
修改完后,保存退出。

编译caffe:

sudo make all
sudo make test
sudo make runtest

注意:只要make不成功,在下次make之前一定要执行命令:make clean 清理一下上次的错误编译生成的文件。

4.编译python接口

sudo apt-get install python-pip

安装numpy,否则编译会出错提示没有arrayobject.h文件

sudo apt-get install python-numpy
cd ~/caffe/python

该目录下requirements.txt文件中有需要的依赖库和版本信息,执行以下命令安装:

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

安装结束后,可以执行以下命令验证是否安装成功:

sudo pip install -r requirements.txt

提示ipython没有安装成功,对于python2.7版本需要安装ipython5.x长期支持版本,先没有管这个问题,但是后面还是编译成功了

caffe根目录下的python文件夹加入到环境变量:

先打开配置文件bashrc:

Vi ~/.bashrc

在文件的最后添加:

export PYTHONPATH=/home/tong/caffe/python:$PYTHONPATH

注意:这里的路径每个人电脑都不一样,例如,我下载的caffe在/home/tong/下面,所以路径为/home/tong/caffe/python

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

编译python接口:

cd ~/caffe/
sudo make pycaffe

验证python接口:

进入python环境,导入caffe包,如果没有报错则安装成功,如果报错可能之前添加环境变量后配置没有更新成功,重启电脑后,重新导入应该就可以了。

编译过程中可能遇到的一些其他问题:

1.错误提示:
.build_release/lib/libcaffe.so: undefined reference to google ::protobuf... 

解决办法:自行在GitHubclone protobuf源码,然后根据GitHubprotobuf编译说明编译一遍,再重新编译caffe就可以了。注意编译之前先make clean一下。

2. 编译过程中出错,提示需要编译器支持c++11特性

解决办法:修改Makefile文件中CXXFLAGS,在后面加上: -std=c++11 这一选项。

你可能感兴趣的:(caffe)