該記錄主要參考:http://blog.csdn.net/yhaolpz https://blog.csdn.net/yhaolpz/article/details/71375762
本記錄為在上述參考基礎上,修改的CPU版本caffe安裝步驟。
第1步 安裝 caffe
首先在你要安裝的路徑下 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_CPUONLY := 1 修改成:
USE_CPUONLY
:= 1
2.使用 python 接口
將
#WITH_PYTHON_LAYER := 1 修改為 WITH_PYTHON_LAYER := 1
3.修改 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 文件:
將:
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
OK ,可以開始編譯了,在 caffe 目錄下執行 :
sudo make
這是如果之前的配置或安裝出錯,那么編譯就會出現各種各樣的問題,所以前面的步驟一定要細心。
編譯成功后可運行測試:
sudo make runtest
第2步 安裝Python運行環境
首先需要安裝Python使用環境:
進入caffe主目錄,cd caffe,然后執行Python接口配置:sudo make pycaffe
CXX/LD -o python/caffe/_caffe.so python/caffe/_caffe.cpp touch python/caffe/proto/__init__.py PROTOC (python) src/caffe/proto/caffe.proto
然后將caffe主目錄下的python文件夾添加到bashrc中:
sudo echo export PYTHONPATH="~/caffe/python" >> ~/.bashrc
更新文件生效:source ~/.bashrc
之后,python,然后import caffe時,提示報錯:
ImportError: No module named skimage.io
此時,pip install -U scikit-image即可。
此時,提示:
You are using pip version 8.1.1, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
按照,pip install --upgrade pip即可。
安裝完后,再次運行上述命令時,可能出現:ImportError: cannot import name main的問題:
Traceback (most recent call last):File "/usr/bin/pip", line 9, in <module> from pip import main ImportError: cannot import name main”
解決辦法(引用自 https://www.imooc.com/article/31953?block_id=tuijian_wz):
1.在終端輸入:sudo gedit /usr/bin/pip
2.將:
from pip import main if __name__ == '__main__': sys.exit(main())
改為:
from pip import __main__ if __name__ == '__main__': sys.exit(__main__._main())
3.保存文件退出,完成。
由於我們這里遠程服務器配置,因此,沒有安裝Ipython, 如果需要可按照下述步驟進行安裝。
ok,最后一步,配置notebook環境
首先要安裝python接口依賴庫,在caffe根目錄的python文件夾下,有一個requirements.txt的清單文件,上面列出了需要的依賴庫,按照這個清單安裝就可以了。
在安裝scipy庫的時候,需要fortran編譯器(gfortran),如果沒有這個編譯器就會報錯,因此,我們可以先安裝一下。
首先進入 caffe/python 目錄下,執行安裝代碼:
sudo apt-get install gfortran for req in $(cat requirements.txt); do sudo pip install $req; done
安裝完成以后執行:
sudo pip install -r requirements.txt
就會看到,安裝成功的,都會顯示Requirement already satisfied, 沒有安裝成功的,會繼續安裝。
然后安裝 jupyter :
sudo pip install jupyter
安裝完成后運行 notebook :
jupyter notebook 或 ipython notebook
就會在瀏覽器中打開notebook, 點擊右上角的New-python2, 就可以新建一個網頁一樣的文件,擴展名為ipynb。在這個網頁上,我們就可以像在命令行下面一樣運行python代碼了。
輸入代碼后,按shift+enter運行,更多的快捷鍵,可點擊上方的help-Keyboard shortcuts查看,或者先按esc退出編輯狀態,再按h鍵查看。