vmware虛擬機器中ubuntu 16.04 caffe 安裝
此次安裝的環境在標題裡講過了,下面說說安裝步驟和踩過的一些坑。。。
一.安裝caffe依賴項
由於伺服器連線網速的原因,在安裝依賴時可能會失敗,解決方法就是先進行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 libatlas-base-dev libopenblas-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get update
然後繼續安裝依賴就可以了。
二.下載caffe原始碼
git clone https://github.com/BVLC/caffe.git
如果沒有安裝過git,需要先sudo apt-get install git
三.編譯caffe
1).進入caffe目錄
cd caffe/
(有的是caffe-master)
2).生成Makefile.config檔案:
cp Makefile.config.example Makefile.config
3).修改Makefile.config中的配置:
a.編輯Makefile.config:
gedit Makefile.config
由於虛擬機器無法使用GPU來跑資料,故修改為CPU模式,去掉CPU_ONLY前的#號
配置引用檔案路徑:
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/hdf5/serial
b.執行編譯
make all
make test
make runtest
編譯成功,如上圖所示。如果編譯失敗,則
sudo make clean
解決出現的問題,然後重新編譯直到成功。四.編譯python介面
1).安裝pip
ubuntu 16.04預設使用的是python2.7,沒有安裝pip,所以需要先安裝一下
sudo apt-get install python-pip
如需更新,則pip install --upgrade pip
2).安裝python介面依賴庫
在caffe根目錄下有個python資料夾,其中的requirements.txt記錄了需要的依賴庫和版本資訊,按照其內容進行安裝即可:
cd caffe-master/python
for req in $(cat requirements.txt);do sudo pip install $req;done
這裡如果不在第二句加上sudo會出現permission denied的失敗提示,不過就是加上了它的下載安裝速度也是。。。一言難盡...
慢慢安裝吧,總有裝好的一天。
安裝完成後,執行如下語句驗證:
sudo pip install -r requirements.txt
如果顯示Requirements already satisfied則安裝成功。3).將caffe目錄下的python資料夾加入到環境變數中
a.開啟配置檔案bashrc:
sudo gedit ~/.bashrc
在檔案最後面新增一行:
export PYTHONPATH=~caffe/python:$PYTHONPATH
其中紅色部分為你安裝的caffe中的python路徑,可以在caffe的python目錄下輸入pwd命令檢視。
b.啟用環境變數:
source ~/.bashrc
4).編譯python介面
cd ~/caffe-master/
make pycaffe
這裡可能會出現numpy/arrayobject.h: No such file or directory的錯誤,需要檢查Makefile.config中的python路徑並修改為:
PYTHON_INCLUDE := /usr/include/python2.7 /usr/local/lib/python2.7/dist-packages/numpy/core/include
5).驗證python介面
進入python環境,引入caffe包,果然沒有報錯,安裝成功!!!
附上幾個參考連結,它們對安裝步驟描述得比較完善,但是在實際安裝中還是有些坑要自己摸索爬出來。。。