ubuntu16.04 安装caffe以及python接口

http://blog.csdn.net/qq_25073253/article/details/72571714

http://blog.csdn.net/greed7480/article/details/68486039

首先在你要安装的路径下 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_CUDNN := 1

修改成:

USE_CUDNN := 1

2.应用 opencv 版本

#OPENCV_VERSION := 3

修改为:

OPENCV_VERSION := 3

3.使用 Python 接口

#WITH_PYTHON_LAYER := 1

修改为

WITH_PYTHON_LAYER := 1

4.修改 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

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

make all -j8

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

编译成功后可运行测试:

make runtest -j8

其中,我最初在make runtest 的时候是用的指令$ sudo make runtest,结果就报

错:

.build_release/tools/caffe: error while loading shared libraries: libcudart.so.8.0:

cannot open shared object file: No such file or directory

而换为$ make runtest 后就没报错了,刚开始特别纳闷,为什么加了超级用户权

限后反而还会有错误呢,谷歌后才知道错误里的“libcudart.so.8.0”是位于

“/usr/local/cuda-8.0/lib64”文件夹下的,而这个路径我们之前已将其添加进了

“LD_LIBRARY_PATH”环境变量中,但通过sudo 来执行该命令可能会导致其无法

使用“LD_LIBRARY_PATH”环境变量,这只是我目前个人的猜测,如果有清楚具

体原因的人,也请麻烦告知我一下,谢了!

6 添加python接口

首先编译 pycaffe :

cd caffe

sudo make pycaffe -j8

7 环境变量

方法1 当前用户添加

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

source ~/.bashrc

方法2 全局用户添加

添加~/caffe/python到$PYTHONPATH:

$ sudo gedit /etc/profile

# 添加: export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH

$ source /etc/profile # 使之生效

8 测试

cd $CAFFE_ROOT

./data/mnist/get_mnist.sh

数据转化

./examples/mnist/create_mnist.sh

训练模型

./examples/mnist/train_lenet.sh

测试模型

./build/tools/caffe.bin test -model=examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel -gpu=0