本博主開更啦!這次帶來的教程是在Ubuntu16.04上安裝caffe(CPU)+Matlab2014a+Opencv3的詳細過程 (親測成功)
這是caffe初學者系列教程的第二部,旨在幫助更多對深度學習感興趣的同學們!第一部可以參考以下地址:
Caffe初學者第一部:Ubuntu14.04上安裝caffe(CPU)+Python的詳細過程 (親測成功, 20180524更新)
好啦,開始我們的教程吧!
前言:
之前的第一部教程發布以后,很受歡迎,看樣子我的努力沒白費,畢竟寫博文花了我好幾個小時,感謝同學們的支持啦^_^
這個第二部教程是在我們實驗室的TITAN上配置的,但是並未用到TITAN,根據教程,我在自己的筆記本上也配置成功了,硬件只需要CPU就可以了。
很多教程說Ubuntu16.04安裝caffe需要GCC降級,這里安裝CPU版本Caffe+Matlab環境並未進行降級,編譯時會有警告但是可以忽略,畢竟環境可以運行就OK的啦!接下來,跟着我的步伐,一步兩步,一步一步似爪牙,似魔鬼的步伐~
親測教程:
本教程需要准備的文件有:Ubuntu16.04, Opencv3(必要), Matlab2014a.
(1)Ubuntu16.04我下載的是Kylin版本,安裝教程可以參考以下博客:
https://blog.csdn.net/qq_20444875/article/details/78887768
Ubuntu16.04下載地址直接復制到迅雷就可以下載:
http://cdimage.ubuntu.com/ubuntukylin/releases/16.04/release/ubuntukylin-16.04.4-desktop-amd64.iso
(2)Opencv3的安裝(必要),參考以下博客:
https://blog.csdn.net/CupidYzw97/article/details/74857467
(3)Matlab2014a的安裝,參考以下博客:
https://www.cnblogs.com/nowornever-L/p/5649078.html
至此,同學你應該裝好上述環境了,接下來進入我們激動人心的時刻吧!
Step1:打開終端,輸入:
sudo apt-get update
Step2:安裝必要的依賴:
sudo apt-get install git sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler sudo apt-get install build-essential sudo apt-get install --no-install-recommends libboost-all-dev sudo apt-get install libatlas-base-dev sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
Step3:官網拉取源碼:
cd git clone https://github.com/BVLC/caffe.git
注意第三步如果終端下載太慢,可以將該網址
https://github.com/BVLC/caffe.git
復制到瀏覽器地址欄,然后手動點擊下載ZIP包,“caffe-master.zip”,之后解壓到home文件夾即可,將解壓出來的文件夾重命名為“caffe-matlab”。
Step4:安裝第二部分依賴:
sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran python-numpy sudo apt-get install python-pip sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn sudo apt-get install python-skimage python-h5py python-protobuf python-leveldb sudo apt-get install python-networkx python-nose python-pandas sudo apt-get install python-gflags Cython ipython sudo pip install --upgrade matplotlib sudo apt-get update
Step5:修改Makefile.config配置文件:
cd caffe-matlab cp Makefile.config.example Makefile.config sudo gedit Makefile.config

修改4處:
將“CPU_ONLY”打開,改成:
CPU_ONLY := 1

將“OPENCV_VERSION”打開,改成:
OPENCV_VERSION := 3

將Matlab路徑配置一下,改成;
MATLAB_DIR := /usr/local/MATLAB/R2014a

將包含路徑配置一下,改成:
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

Step6:修改Makefile文件:
sudo gedit Makefile
在CXXFLAGS += -MMP -MP下面加:
CXXFLAGS += -std=c++11

將:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替換為:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)

Step7:手動加入環境變量,如下:
sudo gedit ~/.bashrc
末尾加入:
export PATH=$PATH:/usr/local/R2014a/bin
終端輸入:
export LD_LIBRARY_PATH=/usr/local/R2014a/sys/os/glnxa64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-8.0/lib64
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4:/usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libfreetype.so.6
注意這里,可能出現以下bash問題:

處理bash問題解決辦法:
將 libopencv_imgproc.so.2.4, libopencv_core.so.2.4, libopencv_highgui.so.2.4三個文件拷貝到/usr/local/MATLAB/R2014a/bin/glnxa64/中
sudo mv /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_imgproc.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_imgproc.so.2.4.old sudo cp /usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/ sudo mv /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_core.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_core.so.2.4.old sudo cp /usr/lib/x86_64-linux-gnu/libopencv_core.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/ sudo mv /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_highgui.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/libopencv_highgui.so.2.4.old sudo cp /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4 /usr/local/MATLAB/R2014a/bin/glnxa64/
終端輸入:
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
Step8:編譯及測試:
sudo make clean sudo make all -j4 sudo make test -j4 sudo make runtest -j4 sudo make matcaffe -j4 sudo make distribute




雖然有警告,但是可以忽略。
測試時若出現問題,請參考以下博文排查:
https://blog.csdn.net/rt5rte54654/article/details/54742981(安裝好caffe之后配置Matlab的接口)
https://blog.csdn.net/qq_33003797/article/details/79334923(遠程服務器 ubuntu16.04 caffe+matlab r2014b+python+cpu-only配置(三))
終端輸入進行測試:
make mattest


若得到上圖結果,表明caffe(CPU)+Matlab2014a環境配置成功,恭喜!
至此,本教程結束!
后續:
本教程親測成功,如有問題歡迎留言討論。
本教程只針對初學者安裝最簡單的Caffe(CPU)+ Matlab環境
本博主會再寫后續Caffe初學者四部曲博客,盡請期待:
Caffe初學者第一部:Caffe(CPU)+Python教程
Caffe初學者第二部:Caffe(CPU)+Matlab教程
Caffe初學者第三部:Caffe(GPU)+Python教程
Caffe初學者第四部:Caffe(GPU)+Matlab教程
參考博客:
https://blog.csdn.net/rt5rte54654/article/details/54742981
https://blog.csdn.net/qq_33003797/article/details/79334923
https://blog.csdn.net/qq_20444875/article/details/78887768
http://cdimage.ubuntu.com/ubuntukylin/releases/16.04/release/ubuntukylin-16.04.4-desktop-amd64.iso
https://blog.csdn.net/CupidYzw97/article/details/74857467
https://www.cnblogs.com/nowornever-L/p/5649078.html
