深度學習caffe:Ubuntu16.04安裝指南(3)

caffe [徹底版] 2017-01-19

配置以下: caffe + cuda8.0[GPU加速[只支持N卡]] + cudnn5.1 + opencv3.1 + python2.7 + boost58 , 主要參考了caffe官方教程html

Ubuntu 16.04 or 15.10 Installation Guidepython

開始前,請先閱讀: linux

深度學習caffe:Ubuntu16.04安裝指南(2)git

 正式開始安裝前,你須要一臺已經安裝好了Ubuntu16.04系統的電腦,而後/home分區最好有儘量大的空間[最好>=20G],由於後面的實驗須要的存儲空間通常都比較大.github

1. 軟件源

操做命令ubuntu

# 在修改source.list前,最好先備份一份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
# 執行命令打開source.list文件,清空內容,輸入清華的軟件源
sudo gedit /etc/apt/sources.list
# 開始更新
sudo apt-get update 

清華大學vim

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse 

2. caffe依賴

 caffe的編譯/運行時須要依賴一些其它的程序和各類庫bash

sudo apt-get update

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

sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install -y libatlas-base-dev 

sudo apt-get install -y --no-install-recommends libboost-all-dev

sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev

sudo apt-get install -y python-pip

 建議:網絡

 安裝過程最好一條命令一條命令的執行,出現了錯誤方便及時發現.app

 安裝過程出現了安裝失敗的狀況,不用擔憂,通常是由於網絡緣由,從新執行命令,通常多試幾回就會好啦~

3. cuda8.0

下載

官網下載: https://developer.nvidia.com/cuda-downloads

直接下載:  cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb

安裝

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda 

4. cudnn5.1

一個深度神經網絡 庫,用來給GPU加速,被普遍的用在各類深度學習框架中,如Caffe, TensorFlow, Theano, Torch CNTK.

下載[須要簡單註冊一下以後才能夠下載]

官網下載: https://developer.nvidia.com/cudnn

直接下載: cudnn-8.0-linux-x64-v5.1.tgz

安裝

解壓/拷貝

# 解壓
tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz
# 解壓後在當前目錄下產生一個cuda目錄
cd cuda/include/
sudo cp cudnn.h /usr/local/cuda/include/  #複製頭文件
cd ../lib64 #打開lib64目錄
sudo cp lib*  /usr/local/cuda/lib64/  #複製庫文件
# 給全部用戶增長這些文件的讀權限 
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

更新軟連接,終端輸入

cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so 

設置環境變量,終端輸入 

sudo gedit /etc/profile
# 在末尾加入
PATH=/usr/local/cuda/bin:$PATH
export PATH 

 保存後,sudo source /etc/profile 馬上生效

sudo vim /etc/ld.so.conf.d/cuda.conf
# 按a進入插入模式,增長下面一行
/usr/local/cuda/lib64 

按esc退出插入模式,按:wq保存退出
最後在終端輸入sudo ldconfig使配置生效

測試:

測試cuda和cudnn安裝配置是否成功: cuda8.0+cudnn5.1測試

 

5. opencv3.1

下載

項目地址: https://github.com/opencv/opencv.git

直接下載: opencv-master.zip

 

依賴項安裝

sudo apt-get install --assume-yes build-essential cmake git
sudo apt-get install --assume-yes build-essential pkg-config unzip ffmpeg qtbase5-dev python-dev python3-dev python-numpy python3-numpy
sudo apt-get install --assume-yes libopencv-dev libgtk-3-dev libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev
sudo apt-get install --assume-yes libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
sudo apt-get install --assume-yes libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev
sudo apt-get install --assume-yes libvorbis-dev libxvidcore-dev v4l-utils 

 解壓,進入opencv-master目錄 ,開始編譯

# 解壓進入源碼目錄
unzip opencv-master.zip
cd opencv-master
# 建立build目錄,用於編譯
mkdir build
cd build/
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D WITH_CUBLAS=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..   
make -j $(($(nproc) + 1))

 安裝

# 當前在build目錄下
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
sudo apt-get update 

 測試:

到了這一步,若是沒有報錯,說明已經安裝成功了,爲了確認一下,能夠用一個例子實際跑一下.

具體能夠參考個人這一篇博文: OPENCV3.1測試demo

 

6. hdf5配置

直接執行下列命令便可,不然在下一步caffe編譯執行"make all"時 會報hdf5相關錯誤

find . -type f -exec sed -i -e 's^"hdf5.h"^"hdf5/serial/hdf5.h"^g' -e 's^"hdf5_hl.h"^"hdf5/serial/hdf5_hl.h"^g' '{}' \;
 
cd /usr/lib/x86_64-linux-gnu
 
sudo ln -s libhdf5_serial.so.10.1.0 libhdf5.so
 
sudo ln -s libhdf5_serial_hl.so.10.0.2 libhdf5_hl.so   

 

7. caffe

下載

項目地址: https://github.com/BVLC/caffe 

直接下載: caffe-master.zip

注: 經過git命令直接clone項目(git clone https://github.com/BVLC/caffe.git ),可是速度通常都特別慢,建議直接下載

python庫支持

解壓caffe-master.zip以後,進入caffe-master/python,安裝python需求庫

unzip caffe-master.zip
cd caffe-master
# 第一步,安裝python需求庫
cd python
for req in $(cat requirements.txt); do pip install $req; done

配置文件修改: Makefile和Makefile.config[當前目錄caffe-master]

Makefile

gedit ./Makefile
# 替換
NVCCFLAGS += -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
# 爲
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) 

 Makefile.config

cp Makefile.config.example Makefile.config
gedit ./Makefile.config

修改配置項以下

# 取消註釋
USE_CUDNN := 1
OPENCV_VERSION := 3
 
# 包含和庫路徑保持同下面一致
CUDA_DIR := /usr/local/cuda-8.0
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 /usr/local/share/OpenCV/3rdparty/lib/

編譯運行

# 多核並行,加快執行速度: -j $(($(nproc) + 1))
make all -j $(($(nproc) + 1))
make test -j $(($(nproc) + 1))
make runtest -j $(($(nproc) + 1))
make pycaffe  -j $(($(nproc) + 1))
make distribute -j $(($(nproc) + 1))

 注: 編譯運行過程如果報錯提示缺乏某個軟件或是庫,通常直接安裝就能夠解決. 從新編譯命令爲 make clean

 給當前用戶bash添加python環境變量

gedit ~/.bashrc
# 最後一行添加
export PYTHONPATH=/path/to/caffe-master/python:$PYTHONPATH
# 當即生效
source ~/.bashrc 

 

8. mnist和cifar10實驗

實驗部分連接: caffe自帶兩個的DEMO

相關文章
相關標籤/搜索