首先安装好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
编译完成之后出现如下界面(网上找的,并非本人截图):
四:编译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
说明python接口编译成功。那么恭喜你caffe安装编译成功。
如果显示no model named caffe则说明python接口编译失败,重新检查上述步骤或百度解决。
接下来个人亲历
错误信息为 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
发现缺少google.protobuf.internal
sudo apt-get install python-protobuf
再import。编译成功!
最后这部分缺少的model因人而异,看一下自己缺少什么model,百度一下都可以解决。
至此,整个caffe安装结束。