本教程實例測試環境爲: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 就不會出現錯誤了。