Ubuntu 14.04/14.10/16.04编译CPU版本Caffe

最近在学习Deep Learning,参考一下经典的Caffe,记录一下编译历程。

  • 安装build-essentials

安装开发所需要的一些基本包

$ sudo apt-get install build-essential
  • 安装OpenCV

图片处理都算依赖OpenCV,版本号要>=2.4版本,目前14.0414.10默认的版本都是2.4

$ sudo apt-get install libopencv-dev
  • 安装数学计算库ATLAS

ATLAS提供离散数学,线性代数的计算支持

$ sudo apt-get install libatlas-base-dev
  • 安装Boost

Boost提供了一系列的C++算法支持,需要>=1.55版本,目前的14.0414.10默认的版本都是1.55

$ sudo apt-get install libboost-all-dev
  • 然后就是一些依赖项

protobuf,leveldb,snappy,hdf5,gflags-devel,glog-devel,lmdb-devel

$ sudo apt-get install libprotobuf-dev protobuf-compiler libleveldb-dev libsnappy-dev libhdf5-serial-dev libgoogle-glog-dev libgflags-dev liblmdb-dev
  • 安装GIT
$ sudo apt-get install git
  • 下载代码
$ git clone https://github.com/BVLC/caffe.git
  • 编译Caffe
$ cd caffe

$ cp Makefile.config.example Makefile.config

然后修改里面的内容,主要需要修改的参数包括
CPU_ONLY是否只使用CPU模式,没有GPU没安装CUDA的同学可以打开这个选项
BLAS (使用intel mkl还是OpenBLAS)
完成设置后,开始编译

$ make all -j4

$ make test

$ make runtest
  • 编译出错的处理

Ubuntu 16.04下编译时候提示:

CXX src/caffe/solvers/sgd_solver.cpp
In file included from src/caffe/solvers/sgd_solver.cpp:5:0:
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
#include "hdf5.h"

解决方法:
1. 编辑Makefile.config,在文件最后,添加/usr/include/hdf5/serialINCLUDE_DIRS

INCLUDE_DIRS += /usr/include/hdf5/serial

2.修改Makefile文件,把hdf5_hlhdf5修改为hdf5_serial_hlhdf5_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
  • 编译Python接口
$ sudo apt install python-pip

$ pip install --upgrade pip

$ sudo pip install -r python/requirements.txt

$ sudo apt-get install python-numpy

$ make pycaffe

$ make distribute

发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注