前提
這個Caffe的安裝與配置是在阿里云輕量應用服務器Ubuntu16.04的環境下實操的
1. 使軟件包列表最新
$ sudo apt-get update
注:
- 如果發現之后有文件無法下載的情況,那就換個更新源吧,下面給出一個更新源參考地址
https://www.cnblogs.com/bovenson/p/5752213.html
換好之后再執行$ sudo apt-get update
一下
2. 安裝依賴庫
$ sudo apt-get install libprotobuf-dev
$ sudo apt-get install libleveldb-dev
$ sudo apt-get install libsnappy-dev
$ sudo apt-get install libopencv-dev
$ sudo apt-get install libhdf5-serial-dev
$ sudo apt-get install protobuf-compiler
$ sudo apt-get install --no-install-recommends libboost-all-dev
$ sudo apt-get install libatlas-base-dev
$ sudo apt-get install python-dev
$ sudo apt-get install libgflags-dev
$ sudo apt-get install libgoogle-glog-dev
$ sudo apt-get install liblmdb-dev
3. 下載Caffe
$ sudo apt-get install git
$ sudo git clone https://github.com/BVLC/caffe.git
4. 下載python依賴庫
$ sudo apt-get install python-pip
for req in $(cat requirements.txt); do pip install $req; done
注:
在~/caffe/python/這個目錄下,執行下載python依賴庫的命令
當
~/caffe/python
路徑不存在時,請用絕對路徑替換
5. 修改Caffe配置參數
$ sudo cp Makefile.config.example Makefile.config
$ sudo vi Makefile.config
# CPU_ONLY:=1
替換成
CPU_ONLY:=1
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/hdf5/serial
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/lib/python2.7/dist-packages/numpy/core/include
替換成
PYTHON_INCLUDE := /usr/include/python2.7 \
/usr/local/lib/python2.7/dist-packages/numpy/core/include
6. 編譯
$ sudo make pycaffe
$ sudo make all
$ sudo make test
$ sudo make runtest
注:
- 執行
$ sudo make pycaffe
有錯誤提示:
python/caffe/_caffe.cpp:10:31: fatal error: numpy/arrayobject.h: No such file or directory
compilation terminated.
Makefile:517: recipe for target 'python/caffe/_caffe.so' failed
make: *** [python/caffe/_caffe.so] Error 1
原因:
缺失python下的numpy文件
解決辦法:
$ sudo apt-get install python-numpy
$ sudo make pycaffe -j16
再輸入$ sudo make pycaffe
7. 設置環境變量
$ sudo vi ~/.bashrc
在最后一行輸入
export PYTHONPATH=~/caffe/python
然后
$ source ~/.bashrc
注:
當
~/caffe/python
路徑不存在時,請用絕對路徑替換-
執行
$ source ~/.bashrc
有錯誤提示:
image.png
原因:這是由于大多數Linux產品安裝,以及默認使用bash shell,而Zsh是一個Linux用戶很少使用的shell,小部分默認會用到它
解決方法:
$ source ~/.zshrc
8. 執行
$ python
$ import caffe
附上一張執行成功的圖
注:
- 執行
$ import caffe
有錯誤提示:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "caffe/init.py", line 1, in <module>
from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
File "caffe/pycaffe.py", line 15, in <module>
import caffe.io
File "caffe/io.py", line 2, in <module>
import skimage.io
ImportError: No module named skimage.io
原因:
缺少python下的skimage文件
解決方法:
$ sudo apt-get install python-skimage
- 執行
$ import caffe
有警告提示:
/usr/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building
原因:已經存在Matplotlib 文件
解決方法:
下次再$ import caffe
就不會出現警告了
參考
https://blog.csdn.net/muzilinxi90/article/details/53673184
https://blog.csdn.net/sinat_31515333/article/details/66975301
https://chunml.github.io/ChunML.github.io/project/Installing-Caffe-CPU-Only/