我是基于ubuntu16.04版本搭建caffe环境的
1. 安装需要的库:
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 python-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.下载Caffe
首先安装git工具:
sudo apt-get install git
然后下载caffe包:
git clone https://github.com/BVLC/caffe.git
接下来进入caffe目录下(我讲caffe下载到/home下了)。
cd caffe/
进入里面的PYTHON文件夹,然后输入
for req in $(cat requirements.txt); do pip install $req; done
如果没有pip,得先安装一下: sudo apt install python-pip
3.
安装Caffe
进入caffe根目录,使用模板写个Makefile.config. 具体就是先复制一下模板, 再改一些内容
cp Makefile.config.example Makefile.config
首先,#CPU MODE下,在CPU_ONLY := 1前面的#要去掉. (因为仅在CPU下跑Caffe)
然后,在其中找到如下内容,两个路径要改成这样:(添加后面的两个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
现在准备就绪,开始安装Caffe:
依次执行下列命令:
make pycaffe make all make test make runtest
当我执行make pycaffe命令的时候,报了错:fatal error: numpy/arrayobject.h没有那个文件或目录
其实numpy已经是安装的,anaconda2里面有,Python中import numpy也没有问题,但就是在此处报错,解决方法:
sudo apt-get install python-numpy
然后再执行一遍 make pycaffe命令就行了。
显示所有的TESTS PASSED,说明已经安装好了。
如果遇到:fatal error: hdf5.h: 没有那个文件或目录”,解决办法如下:
在Makefile.config文件的第85行,添加/usr/include/hdf5/serial/ 到 INCLUDE_DIRS,也就是把下面第一行代码改为第二行代码。
将# Whatever else you find you need goes here.下面的 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 修改为: 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 /usr/lib/x86_64-linux-gnu/hdf5/serial
在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
cd /usr/lib/x86_64-linux-gnu
然后根据情况执行下面两句:
sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so
sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so
本安装主要参考文档
https://www.cnblogs.com/ygh1229/p/6528134.html,再次感谢作者的无私奉献