Ubuntu16.04 安裝 caffe python 接口


前言

這篇筆記記錄自己在 Ubuntu16.04 上面安裝 CPU 模式  caffe  python 接口流程,備份下來,以便學習。主要參考如下兩篇博客,謝謝原作者的分享 👍:

https://blog.csdn.net/u010193446/article/details/53259294

https://blog.csdn.net/g11d111/article/details/78141202

 

1. 安裝所需依賴

caffe python 接口依賴 numpy 組件,numpy 的安裝可以用 pip 安裝,沒有安裝 pip 的話可以用下面的命令先安裝 pip,若提示權限不足,可以前加 sudo,輸入管理員密碼安裝

apt-get install pip

然后用下面命令安裝 numpy:

pip install numpy

繼續安裝其他依賴(這些安裝的依賴是照着開頭兩位博主的教程,未仔細研究每個包的具體作用,后面希望可以研究清楚):

apt-get install libboost-all-dev apt-get install libprotobuf-dev apt-get install libleveldb-dev apt-get install libsnappy-dev apt-get install libopencv-dev apt-get install libhdf5-serial-dev apt-get install protobuf-compiler apt-get install libgflags-dev apt-get install libgoogle-glog-dev apt-get install liblmdb-dev apt-get install libatlas-base-dev

 

2. 安裝 OpenCV3

我是參考的這篇教程,謝謝原博主的分享 👍

https://blog.csdn.net/cocoaqin/article/details/78163171

注:根據這篇教程 https://blog.csdn.net/u010193446/article/details/53259294不安裝 OpenCV 也不影響 caffe 的安裝(若未安裝OpenCV,則第三節對 OpenCV 相關配置更改可以不做),因為我之前已安裝 OpenCV3,所以此處無法驗證,如果有驗證過的同學,麻煩留言告知,謝謝👊!

 

3. 安裝 caffe CPU 版本

先下載 caffe 源碼,使用 git 下載,未安裝 git 的話,可以使用 apt-get install git 安裝。假設 caffe 下載目錄為 ~

cd ~
git clone https://github.com/BVLC/caffe cd caffe cp Makefile.config.example Makefile.config

caffe 原目錄下面有個 Makefile.config.example 文件作為編譯安裝配置的示例,可以基於此文件進行針對性修改,以便在自己的機器上正確安裝,下面介紹幾點關鍵的修改地方:

1. 取消對 CPU_ONLY:=1 的注釋,如下圖(左為修改前,右為修改后):

 

2. 取消對 OPENCV_VERSION:=3 的注釋,如下圖:

 

3. 對 PYTHON_INCLUDE 的注釋和修改

這部分涉及到編譯 caffe python 接口時的頭文件和庫文件。如果安裝的是 python2,則修改默認的 PYTHON_INCLUDE,使之為正確的python目錄地址:

如果安裝的是 python3,則需將 python2 對應的 PYTHON_INCLUDE 注釋(也就是上圖那部分👆),並取消對 python3PYTHON_INCLUDE 注釋,同時修改內容。需要注意的時,PYTHON_INCLUDE 的默認頭文件位置以及 PYTHON_LIBRARIES 的默認庫位置,可能和你的安裝位置不一樣,需要進行修改;

例如我的 numpy 目錄和默認的就不同,同時 libboost_python 版本也和默認的不同,均需要修改。若不清楚 numpy 的目錄哪里,可以使用 locate 命令查詢得到:

locate -e arrayobject.h

注意上面 PYTHON_LIBRARIES 配置未修改前是 boost_python3, 對編譯安裝 caffe 無影響,但在安裝 python 接口時會提示找不到對應的庫,對此我的修改方式是其改為 boost_python35,也可以在 libboost_python35.so 所在目錄里創建一個符號鏈接,命令如下:

ln -s libboost_python35.so libboost_python3.so

boost 的默認安裝目錄為 /usr/lib 或 /usr/local/lib,根據自己機器的實際情況查詢即可;

locate -e libboost_python

 

4. 配置引用文件路徑 

改為

即在 INCLUDE_DIRS 后加上 /usr/include/hdf5/serial,在 LIBRARY_DIRS 后加上 /usr/lib/x86_64-linux-gnu/hdf5/serial

 

5. 執行編譯安裝

make all make test make runtest

上述每個步驟執行完會依次顯示如下內容(具體內容可能有所不同,沒有錯誤顯示,即為安裝成功,安裝時未能保存截圖,此處引用 https://blog.csdn.net/g11d111/article/details/78141202 中的截圖作為示例,謝謝原作者的分享)。

注意:如果執行失敗,則需要執行 make clean 清理安裝,解決問題后再執行安裝;

 

4. 編譯 python 接口 

 1. 安裝 python 接口依賴庫

 進入到 caffe 目錄下的 python 目錄,內有 requirement.txt 文件,列出了依賴的 python 庫和版本信息,安裝即可;

apt-get install gfortran cd ~/caffe/python for req in $(cat requirements.txt); do pip install $req; done

 

2. 將上面的 python 目錄加入到環境變量

編輯 ~/.bashrc 文件

vi ~/.basrc

文件末尾添加

export PYTHONPATH=/dir/to/caffe/python:$PYTHONPATH

 /dir/to/caffe/python 是 caffe 目錄下的 python 目錄,針對實際情況進行修改即可。

 

3. 更新環境變量配置

ldconfig

有時可能需要關閉當前會話再啟動會話以生效。

 

4. 編譯 python 接口

cd ~/caffe/
make pycaffe

出現錯誤提示時,通常是 Makefile.config 里面的 PYTHON_INCLUDE 或者 PYTHON_LIBRARIES 配置有誤,根據錯誤提示進行修改,重新編譯即可。

 

5. 驗證是否安裝成功

在 python console 里執行 import caffe,無誤則表示 caffe python 接口安裝成功;

 

5. 調用 caffe 的 C++ 接口

這部分內容目前還在學習中,希望可以早日學會,分享進步。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM