先將caffe的包git下來
git clone?https://github.com/BVLC/caffe.git
然后cd到caffe目錄下
首先確認是否安裝了python2.7版本
然后
sudo apt-get install python-dev
cd到caffe目錄下椎眯,復制Makefile.config.example文件為Makefile.config
sudo cp Makefile.config.example Makefile.config
將CPU_ONLY:=1前面的注釋去掉
更改hdf5路徑
將如下兩行
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
然后將PYTHON_INCLUDE后面的第二行路徑lib前面加上/local
更改之后變?yōu)?/p>
PYTHON_INCLUDE := /usr/include/python2.7 \
? ? ? ? ? ? ? ? ? ? ?/usr/local/lib/python2.7/distpackages/numpy/core/include
安裝所需要的依賴
基本依賴
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
BLAS安裝
sudo apt-get install libatlas-base-dev
其他依賴安裝
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
都安裝成功之后進行編譯
make all -j16
make test -j16
make runtest -j16
接下來編譯python接口
首先安裝pip
sudo apt-get install python-pip
python目錄下的requirements.txt文件中列出了所有需要安裝的依賴庫满力,可以照著這個清單安裝
安裝scipy需要fortran編譯器gfortran
sudo apt-get install gfortran
cd ./python
for req in $(cat requirements.txt); do pip install $req; done
安裝完成之后cd到caffe目錄下進行依賴庫安裝
sudo pip install -r python/requirements.txt
然后會安裝清單中所有的依賴庫畦徘,但中間可能會因為某個依賴庫版本不一致而造成報錯揍拆,可以將清單中該項屏蔽掉猜嘱,然后手動安裝該項敷硅。
然后進行編譯
make pycaffe -j16
編譯成功后可以使用python2 import caffe測試caffe是否可以調用
這時可能會報錯
ModuleNotFoundError:No Module named 'caffe'
解決方法:
vim ~/.bashrc
在最后一行加上對應的/caffe/python路徑
我的路徑如下
export PYTHONPATH=/home/zzzz/20190429/caffe_offical/caffe/python:$PYTHONPATH
之后source ~/.bashrc
使環(huán)境變量生效即可
再次進行import即可
若這時出現(xiàn)ImportError: No module named skimage.io的錯誤
sudo apt-get install python-skimage
進行安裝即可
import caffe時出現(xiàn)
Traceback (most recent call last):
? File "<stdin>", line 1, in <module>
? File "/opt/caffe/python/caffe/__init__.py", line 1, in <module>
? ? from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver, NCCL, Timer
? File "/opt/caffe/python/caffe/pycaffe.py", line 13, in <module>
? ? from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \
ImportError: No module named _caffe
也是需要將caffe路徑添加到環(huán)境變量
方法一(一次性):
在終端輸入:
PYTHONPATH=/workspace/caffe/python
注意這種方法是一次性的并炮,關閉終端再打開后就會失效
方法二(永久):
vim ~/.bashrc
在打開的文件最后加上
export PYTHONPATH=/workspace/caffe/python:$PYTHONPATH
保存關閉之后運行下面運行使環(huán)境變量生效
source ~/.bashrc
然后再次import caffe即可