caffe是深度学习最好用的框架之一,但caffe的安装编译过程相对较复杂,本人在安装编译时百度了好几个版本,都没有一次成功过,因此在此总结一下自己的编译过程,本文是在Ubuntu16.04下安装编译caffe,其他版本会略有不同。该教程本人亲测三遍,无特殊情况一般都可以编译成功。
一、安装依赖包
打开linux命令行,先执行下面指令:
sudo apt-get update
再依次执行以下语句,安装依赖包:
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,可以先执行下面指令安装git:
sudo apt-get install git
再执行下面指令下载caffe源码:
git clone git://github.com/BVLC/caffe.git
至此我们已经把caffe源码下载到了本地的根目录下,可以用ls指令查看。
红框圈出的就是下载的caffe源码,其他文件是我系统中下载的其他文件,与本文无关。
三、编译caffe
1.进入caffe目录下:
cd caffe
2.生成Makefile.config文件:
cp Makefile.config.example Makefile.config
3.修改Makefile.config文件中的配置:
1)编辑Makefile.config文件:
sudo gedit Makefile.config
2)去掉CPU_ONLY:=1前面的#号:
3)配置引用文件路径:
将原来的内容:
替换为:
4.执行编译,执行以下指令:
make all
make test
make runtest
执行完make runtest指令后,会出现下面的图,则代表caffe已经编译完成。
四、编译python接口
caffe具有python和C++接口,因为比较常用的是python接口,这里演示如何编译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 $req; done
安装完后,执行下面一条语句,该语句的作用是检查依赖库是否都已经安装成功,如果成功会显示requirement already saitisfied,如果未成功会继续安装:
sudo pip install -r requirements.txt
我在执行完上面一条语句后,出现了错误(错误显示为红色字体),我的错误提示是:command "python setup.py egg_info" failed with error code 1 in XXX。
原因是没有指定ipython的版本,执行下面语句可解决该问题:
sudo pip install ipython==5.3.0
这时,再执行 sudo pip install -r requirements.txt 发现没有了红色字体的错误提示,说明依赖库安装成功。
3.添加环境变量:
打开配置文件bashrc:
sudo gedit ~/.bashrc
在文件的最后面添加:
export PYTHONPATH=~/caffe/python:$PYTHONPATH
如下图所示:
保存文件后关闭,然后输入下面语句,使环境变量生效:
source ~/.bashrc
4.编译python接口:
首先进入caffe目录下:
cd caffe
然后开始编译pycaffe:
make pycaffe
编译完后,若无错误提示,则说明编译成功。
5.验证python接口:
进入python环境:
python
如图:
引入caffe包:
import caffe
如果引入caffe包无其他显示,如下图所示:
说明python接口编译成功。如果显示no model named caffe则说明python接口编译失败,重新检查上述步骤或百度解决。至此整个caffe安装编译的过程就全部结束了。
PS:这篇博文本人亲自验证了三次,都是在新安装的ubuntu16.04下编译的,不出意外的话读者按照上述步骤应该都可以编译成功,但是特殊情况如操作系统不是ubuntu16.04或是系统中安装过一些其他东西(本人之前安装了opencv3.1.0版本,然后再编译caffe就会报错),都可能会导致编译失败,如出现其他问题可百度解决。由于赶时间,这篇博文是在飞机上完成的,如果文中有错误之处,希望大家指出并谅解!