1. 程式人生 > >Ubuntu16.04 python3 caffe安裝

Ubuntu16.04 python3 caffe安裝

前言

本文旨在記錄在Ubuntu16.04和python3.5基礎上安裝caffe的問題。安裝中會遇到一些問題,在每一步都有相應的解決方案。下面以CPU版本為例進行說明。

① 安裝依賴

注意:這裡如果沒裝git的同學,請先去安裝一個git。

sudo apt-get install git

下面是依賴檔案:

# python3 modules (numpy, protobuf, skimage)
sudo pip3 install numpy
sudo apt-get install python3-skimage
sudo apt-get install python3-protobuf

# build essential
sudo apt-get install build-essential cmake git pkg-config

# gflags, glog, lmdb
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

# boost
sudo apt-get install libboost-all-dev

# hdf5
sudo apt-get install libhdf5-dev

# protobuf
sudo apt-get install protobuf-compiler libprotobuf-dev

# blas
sudo apt-get install libblas-dev libcblas-dev libatlas-base-dev libopenblas-dev

# leveldb
sudo apt-get install libleveldb-dev

# snappy
sudo apt-get install libsnappy-dev

② 安裝opencv3

我安裝的方式是:

git clone https://github.com/opencv/opencv
cd opencv
mkdir build
cd build
cmake ..
make
sudo make install

③ 安裝caffe(CPU版本)

從這一步開始,坑就開始多了。這裡詳細說一下我遇到的坑。
1、Checkout

cd ~/Dev # 我的開發環境目錄
git clone https://github.com/BVLC/caffe
cd caffe
cp Makefile.config.example Makefile.config

2、修改Makefile.config檔案

如下圖所示,在caffe目錄下,存在了Makefile.config這個檔案。
這裡寫圖片描述
下面我們要對其進行修改:

1、取消對CPU_ONLY := 1的註釋(第8行
這裡寫圖片描述

2、取消對OPENCV_VERSION := 3的註釋(第21行
這裡寫圖片描述

3、取消對PYTHON_INCLUDE的註釋(第79行),並對之前的python2對應的PYTHON_INCLUDE進行註釋
這裡寫圖片描述

4、配置引用檔案路徑(主要是HDF5的路徑問題)
原來的路徑為:
這裡寫圖片描述
修改為:
這裡寫圖片描述

即在INCLUDE_DIRSLIBRARY_DIRS後面分別加上了/usr/include/hdf5/serial/usr/lib/x86_64-linux-gnu/hdf5/serial

5、編譯並測試

sudo make all
sudo make test
sudo make runtest

下面是遇到的問題,一些關於python環境變數設定的問題不在此討論。

cd /usr/lib/x86_64-linux-gnu
sudo ln -s libboost_python-py35.so libboost_python3.so
  • Q2:在編譯make test的時候顯示:"libopencv_core.so.3.3: cannot open shared object: …"
    解決方法為:在/etc/ld.so.conf裡面加入一行: /usr/local/lib

④ 安裝成功

sudo make all的結果:

這裡寫圖片描述

sudo make test的結果:

這裡寫圖片描述

sudo make runtest的結果:

這裡寫圖片描述

⑤ 安裝caffe的python介面

這裡還沒弄,請看參考資料3。

參考資料