记录在ubuntu16.04 x86_64上安装伯克利官网caffe版本。
https://github.com/BVLC/caffe.git
(其余组件版本为opencv2.4 、 atlas库、 python2.7.12、 使用cpu)
1、安装依赖
此处吃了亏,以前习惯了多行一次性粘贴到远程terimal,都是自带换行回车的,全部逐条执行。但这次从官网教程粘贴后不好使(可能是换行没生效),导致后来make的时候各种出问题,查到问题根源发现竟然是前面的依赖没装全。
所以下面的apt-get 都尽量整合到一句命令里了。
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install -y build-essential cmake git pkg-config libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler libatlas-base-dev libgflags-dev libgoogle-glog-dev liblmdb-dev python-pip python-numpy python-scipy python-dev libopencv-dev
sudo apt-get install -y --no-install-recommends libboost-all-dev
以下做链接,仅针对ubuntu16.04,其余版本参考官网。
find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;
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
2、修改Makefile.config和Makefile
Makefile.config的修改
cpu_ONLY := 1
#使用cpu模式,因此此处打开注释
找到以下四个参数的位置,注释掉,将以下内容粘贴进去
PYTHON_INCLUDE := /usr/include/python2.7 /usr/lib/python2.7/dist-packages/numpy/core/include
WITH_PYTHON_LAYER := 1
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的修改
找到
NVCCFLAGS += -ccbin=
(CXX)−Xcompiler−fPIC (COMMON_FLAGS)
替换为
NVCCFLAGS += -D_FORCE_INLINES -ccbin=
(CXX)−Xco@H_489_301@mpiler−fPIC (COMMON_FLAGS)
修改完毕,执行安装python的库
cd python
for req in $(cat requirements.txt); do pip install $req; done
3、安装caffe
make all -j $(($(nproc) + 1))
make test
make runtest
make pycaffe -should be finished already,so you can omit this one
make distribute