该记录主要参考:http://blog.csdn.net/yhaolpz https://blog.csdn.net/yhaolpz/article/details/71375762

本记录为在上述参考基础上,修改的CPU版本caffe安装步骤。

第1步 安装 caffe

首先在你要安装的路径下 clone :

git clone https://github.com/BVLC/caffe.git

进入 caffe ,将 Makefile.config.example 文件复制一份并更名为 Makefile.config ,也可以在 caffe 目录下直接调用以下命令完成复制操作 :

sudo cp Makefile.config.example Makefile.config

复制一份的原因是编译 caffe 时需要的是 Makefile.config 文件,而Makefile.config.example 只是caffe 给出的配置文件例子,不能用来编译 caffe。

然后修改 Makefile.config 文件,在 caffe 目录下打开该文件:

sudo gedit Makefile.config

修改 Makefile.config 文件内容:

1.应用 cudnn

#USE_CPUONLY := 1
修改成:
USE_CPUONLY := 1

2.使用 python 接口

#WITH_PYTHON_LAYER := 1 
修改为 
WITH_PYTHON_LAYER := 1

3.修改 python 路径

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       

 

然后修改 caffe 目录下的 Makefile 文件:

将:
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

OK ,可以开始编译了,在 caffe 目录下执行 :

sudo make

这是如果之前的配置或安装出错,那么编译就会出现各种各样的问题,所以前面的步骤一定要细心。

编译成功后可运行测试:

sudo make runtest

第2步 安装Python运行环境

    首先需要安装Python使用环境:

    进入caffe主目录,cd caffe,然后执行Python接口配置:sudo make pycaffe

CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp
touch python/caffe/proto/__init__.py
PROTOC (python) src/caffe/proto/caffe.proto

 然后将caffe主目录下的python文件夹添加到bashrc中:

   sudo echo export PYTHONPATH="~/caffe/python" >> ~/.bashrc

   更新文件生效:source ~/.bashrc

    之后,python,然后import caffe时,提示报错:

   ImportError: No module named skimage.io

   此时,pip install -U scikit-image即可。

  此时,提示:

You are using pip version 8.1.1, however version 10.0.1 is available.
You should consider upgrading via the \'pip install --upgrade pip\' command.

  按照,pip install --upgrade pip即可。

    安装完后,再次运行上述命令时,可能出现:ImportError: cannot import name main的问题:

Traceback (most recent call last):File "/usr/bin/pip", line 9, in <module> from pip import main ImportError: cannot import name main”

解决办法(引用自 https://www.imooc.com/article/31953?block_id=tuijian_wz):
1.在终端输入:sudo gedit /usr/bin/pip
2.将:

from pip import main
if __name__ == \'__main__\':
    sys.exit(main())

改为:

from pip import __main__
if __name__ == \'__main__\':
    sys.exit(__main__._main())

3.保存文件退出,完成。

  

由于我们这里远程服务器配置,因此,没有安装Ipython, 如果需要可按照下述步骤进行安装。

ok,最后一步,配置notebook环境

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

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

首先进入 caffe/python 目录下,执行安装代码:

sudo apt-get install gfortran

for req in $(cat requirements.txt); do sudo pip install $req; done

安装完成以后执行:

sudo pip install -r requirements.txt

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

然后安装 jupyter :

sudo pip install jupyter

安装完成后运行 notebook :

jupyter notebook 或 ipython notebook

就会在浏览器中打开notebook, 点击右上角的New-python2, 就可以新建一个网页一样的文件,扩展名为ipynb。在这个网页上,我们就可以像在命令行下面一样运行python代码了。

输入代码后,按shift+enter运行,更多的快捷键,可点击上方的help-Keyboard shortcuts查看,或者先按esc退出编辑状态,再按h键查看。