[TOC]
簡介
caffe是一個清晰产阱,可讀性高块仆,快速的深度學習框架构蹬。作者是賈揚清榨乎,加州大學伯克利的ph.D,現(xiàn)就職于Facebook蜜暑。caffe的官網是http://caffe.berkeleyvision.org/。
安裝
環(huán)境
- Ubuntu 16.04 LTS
- CUDA8.0
參考資料
- 官方安裝指南:Ubuntu Installation
注: 對于 Ubuntu >= 17.04 的Ubuntu系統(tǒng)肛捍,安裝將變得極為簡單,通過Ubuntu的包管理器安裝即可拙毫,這里不作說明。
準備
基礎環(huán)境配置
- 系統(tǒng)安裝缀蹄,可移步本人博客:U盤系統(tǒng)盤制作與系統(tǒng)安裝(詳細圖解)
- CUDA安裝,可移步本人博客:Ubuntu 16.04 LTS + CUDA8.0 + cudnn6.0 或 NVIDIA DIGITS 學習筆記(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)
依賴庫安裝
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install libatlas-base-dev
構建與安裝
獲取源碼
從 這里 (或終端輸入命令 git clone https://github.com/BVLC/caffe.git
)下載caffe源碼并解壓蛀醉,修改文件夾名為 caffe
。
For Python
如果你需要使用Caffe 的 Python 接口拯刁,你還需要安裝Python的一些庫,進入caffe根目錄下的python目錄垛玻,執(zhí)行:
for req in $(cat requirements.txt); do sudo pip install $req; done
然后添加 PYTHONPATH
環(huán)境變量:終端輸入 sudo gedit ~/.bashrc
打開 .bashrc
文件奶躯,文件末尾加入(注意修改為你的caffe絕對路徑):
#caffe python
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
如果你使用 Anaconda 帚桩,下面修改 Makefile.config
文件時巫糙,注意自行 啟用 Anaconda,約73行。
修改配置文件
這一步修改 Makefile.config
文件醉锄,以滿足自己的需求,如:
#啟用cuDNN加速
USE_CUDNN := 1
另外檩小,在Ubuntu16.04上安裝caffe還需要修改以下幾處,否則會報出各種錯誤规求,具體參見問題解決:
將如下幾處代碼:
#第一處:CUDA PATH
CUDA_DIR := /usr/local/cuda
#第二處:PYTHON PATH
# Whatever else you find you need goes here.
#INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
改為:
#第一處:CUDA PATH卵惦,改為:
CUDA_DIR := /usr/local/cuda-8.0
#第二處:PYTHON PATH阻肿,添加hdf5庫沮尿,改為:
# Whatever else you find you need goes here.
#INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
構建安裝
進入caffe的根目錄,終端執(zhí)行如下命令畜疾,不報錯誤,代表安裝成功啡捶!( -j$(nproc)
代表使用最大的線程編譯,當然也可以手動指定彤敛,如 make -j4
; make py
是用來編譯caffe的python接口了赌,如不需要可忽略。)
make all -j$(nproc)
make pycaffe -j$(nproc)
make test -j$(nproc)
make runtest -j$(nproc)
添加環(huán)境變量
終端輸入 sudo gedit ~/.bashrc
打開 ".bashrc" 文件揍拆,在文件末尾加入如下代碼并保存:
# Set Caffe environment
export CAFFE_ROOT=/home/liu/sfw/dlapp/caffe/
#caffe python
export PYTHONPATH=/home/liu/sfw/dlapp/caffe/python/:$PYTHONPATH
然后重新打開一個終端茶凳,或者輸入 source ~/.bashrc
加載新的環(huán)境變量。
驗證Python接口
為驗證安裝成功贮喧,終端輸入 ipython
或 python
進入Python解釋器環(huán)境筒狠,輸入: import caffe
箱沦,不報錯誤代表caffe的Python接口可以使用辩恼。
問題解決
安裝
hdf5
- 現(xiàn)象
In file included from src/caffe/solvers/sgd_solver.cpp:5:0:
./include/caffe/util/hdf5.hpp:6:18: fatal error: hdf5.h: No such file or directory
compilation terminated.
Makefile:581: recipe for target '.build_release/src/caffe/solvers/sgd_solver.o' failed
- 解決
首先確保前面安裝依賴庫時安裝了 libhdf5-serial-dev
,然后修改 Makefile.config
文件(約95行):
# Whatever else you find you need goes here.
#INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
No module named caffe
請確認是否執(zhí)行 make pycaffe
且沒有報錯灶伊,如果是請再檢查環(huán)境變量的設置。