Ubuntu 18.04 在虛擬環境pyenv下配置python的caffe庫(only CPU)
在進行配置時要先確保使用pyenv與virtualenv搭建單機多版本python多虛擬環境已經搭建好;
1. 首先安裝git工具:
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
2.使用git工具下載caffe的原始碼到本地:
git clone https://github.com/BVLC/caffe.git
3.開始配置caffe:
在下載的caffe原始碼的第一層目錄中,有一個檔案Makefile.config.example。首先進行檔案拷貝:
cp Makefile.config.example Makefile.config
然後對Makefile.config進行修改:
(pyenv虛擬環境下配置caffe的修改)
#如果使用CUDNN的話,需要改為下面的形式,注意去掉前面的"#"號註釋符
USE_CUDNN := 1
#如果是在CPU上進行開發,需要改為下面的形式,注意去掉前面的"#"號註釋符
CPU_ONLY := 1
# 根據系統安裝好的OpenCV版本進行設定,注意去掉前面的"#"號註釋符
OPENCV_VERSION := 3
# 根據實際的Python環境進行配置
PYTHON_INCLUDE := /home/syl/.pyenv/versions/3.6.0/include/python3.6m \
/home/syl/.pyenv/versions/3.6.0/envs/env360/lib/python3.6/sitepackages/numpy/core/include
#根據實際情況修改路徑
PYTHON_LIB:=/home/syl/.pyenv/versions/3.6.0/lib
#去掉下面兩項"#"號註釋符,然後根據自己情況修改路徑
PYTHON_LIBRARIES := boost_python3 python3.6m
PYTHON_INCLUDE := /home/syl /.pyenv/versions/3.6.0/include/python3.6m \
/home/syl/.pyenv/versions/3.6.0/envs/env360/lib/python3.6/site-packages/numpy/core/include
#為了避免出現找不到hdf5.h的錯誤,還需要修改下面兩項
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
然後為了進一步解決hdf5.h的錯誤,需要修改makefile檔案:
LIBRARIES += glog gflags protobuf boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
4. 安裝一些依賴庫,以避免編譯出錯:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler
5 . caffe編譯:
j代表多執行緒編譯
make all -j8
make alltest -j8
6 . 安裝及執行python環境下的caffe還需要安裝一些依賴的python庫
進入pyenv虛擬環境
pyenv activate env360
然後安裝python的相關庫
pip3 install numpy
pip3 install opencv-python
pip3 install -U scikit-image
7 . 編譯python版本的caffe:
make pycaffe
make all
make test
make runtest
8.測試Caffe的Python介面,切換到caffe/python檔案目錄下,記錄下來當前路徑,輸入以下命令:
export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
進入python環境,輸入:
import caffe
9 . 如果沒有報錯,證明安裝成功。
上面的方法,一旦關閉終端或者開啟新終端則失效,如果放到配置檔案中,可以永久有效果,命令操作如下:
#A.把環境變數路徑放到 ~/.bashrc檔案中
sudo echo export PYTHONPATH="~/caffe/python" >> ~/.bashrc
#B.使環境變數生效
source ~/.bashrc