本教程实例测试环境为:CUDA8+CUDNN6.0, 日常使用GPU。
首先在你要安装的路径下 clone :
git clone https://github.com/BVLC/caffe.git
进入 caffe :
sudo cp Makefile.config.example Makefile.config
然后修改 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
然后修改 caffe 目录下的 Makefile 文件:
将:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
将:
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
然后修改 /usr/local/cuda/include/host_config.h 文件 :
将
#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
改为
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
接下来可以开始编译了,在 caffe 目录下执行 :
注:在下面两步中,有时会习惯性的加上 sudo ,经验证加上 sudo 容易导致出现一些错误,最好不要加。
make all -j4
make pycaffe
然后进行
make test -j4
接下来可以打开终端,执行命令
python
import caffe
如果没有报错,就算安装成功了。
关于官网给的最后一步“ make runtest ” 有一定的失败几率,其实只要是 通过“import caffe ”验证通过即可。
错误解决:
关于安装好当时测试“import caffe”成功,重新打开终端发现错误:“ImportError: No module named caffe”的解决。
打开终端:
sudo gedit ~/.bashrc
在文件下方添加:
export PYTHONPATH=/home/zzg/caffe-master/python:$PYTHONPATH
其中
” /home/zzg/caffe-master “ 是caffe所在的根目录路径
关闭文件,使环境变量生效
source ~/.bashrc
此时再在 python 解释器下 import caffe 就不会出现错误了。