Ubuntu16.04 14.04 配置caffe,CPU only

1.安装依赖

1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
2 sudo apt-get install --no-install-recommends libboost-all-dev
3 sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
4 sudo apt-get install libatlas-base-dev

python需要2.7版本,这是操作系统本身已经安装好的. 输入python2.7 --version 会显示具体的版本号说明安装了.

但是还需要

sudo apt-get install python-dev

2.下载Caffe

下载地址 https://github.com/BVLC/caffe

下载得到caffe-master.zip,用unzip命令解压。

3.编译Caffe

(1)切换到Caffe所在目录,复制一个Makefile.config

cp Makefile.config.example Makefile.config

(2)修改配置文件Makefile.config

  • CPU_ONLY := 1
  • 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题),
1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 
  • 修改如下:
1 INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
2 LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial   
计算能力 mkl > openlas >atlas,为了简便,默认atlas

(3)编译 Caffe

1 make all -j16
2 make test -j16
3 make runtest -j16

-j16表示使用16核,这样更快,根据自己电脑情况。不用则单核

4.编译Python接口

  • 确保pip已经安装
sudo apt-get install python-pip
  • 执行安装依赖

在caffe根目录的python文件夹下,有一个requirements.txt的清单文件,上面列出了需要的依赖库,按照这个清单安装就可以了。

在安装scipy库的时候,需要fortran编译器(gfortran),如果没有这个编译器就会报错,因此,我们可以先安装一下。

首先回到caffe的根目录,然后执行安装代码:

1 cd ~/caffe-master
2 sudo apt-get install gfortran
3 cd ./python
4 for req in $(cat requirements.txt); do pip install $req; done

安装完成以后,再次回到caffe根目录我们可以执行:

1 cd ..
2 sudo pip install -r python/requirements.txt

就会看到,安装成功的,都会显示Requirement already satisfied, 没有安装成功的,会继续安装。

  • 编译python接口
make pycaffe -j16

用python import caffe看接口成功没有