歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Caffe配置簡明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 )

Caffe配置簡明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 )

日期:2017/2/28 13:49:16   编辑:Linux教程

1. 前言

本教程使用的系統是Ubuntu 14.04 LTS 64-bit,使用的CUDA版本為7.5,使用的NVIDIA驅動版本為352。

如果您使用的Pascal架構顯卡,如GTX1080或者新ttx,則必須使用更高版本的驅動和CUDA 8。本教程不適於這種情況,請不要嘗試。

Ubuntu每兩年發布一次LTS版本(即長期支持版),所以現在已經發布了16.04 LTS版本。鑒於很多程序在新系統下的兼容性還沒有測試,本教程依然介紹的是上一個LTS版本上安裝Caffe的方法,隨後會推出針對於Ubuntu 16.04和CUDA 8的教程。

本教程很多細節已經盡量詳細,但是還是要求使用者有一定的Linux基礎,後續可能會推出針對於Linux新用戶的更為詳細的教程。

2. 安裝基礎依賴項

sudo apt-get install build-essential
sudo apt-get install cmake git

3. 安裝NVIDIA驅動(optional)

如果你沒有NVIDIA顯卡,或者只需要使用CPU-only模式,請不要安裝NVIDIA驅動和CUDA,否則會造成Ubuntu圖形界面無法啟動。

首先需要關閉圖形界面,使用Ctrl+Alt+F1進入虛擬控制台,然後輸入用戶名和密碼登陸。

然後關閉lightdm

sudo /etc/init.d/lightdm stop

然後更新源,並從Ubuntu官方源中安裝NVIDIA 352驅動

sudo apt-get install nvidia-352

這是目前官方源中最新的驅動版本,由於16.04的推出,Ubuntu官方源應該不會再更新14.04的驅動版本。如果需要更高版本的驅動,可以前往NVIDIA官網進行下載。

然後重啟電腦即可。

sudo reboot

PS:用這種方式安裝NVIDIA顯卡驅動,會自動覆蓋Ubuntu的X Server配置,這樣如果你的顯示器連接的不是NVIDIA顯卡,就無法正常啟動圖形界面。使用Tesla等計算卡的同學們請注意這一點。

4. 安裝CUDA 7.5(optional)

CUDA的本地安裝包中含有NVIDIA驅動,如果沒有進行步驟3,安裝CUDA時會自動安裝NVIDIA驅動,所以沒有NVIDIA顯卡請不要安裝CUDA。另外NVIDIA驅動最好按照步驟3單獨安裝。

從NVIDIA官網下載CUDA 7.5的deb本地安裝包:下載地址

點擊如上的鏈接可以下載支持x86架構CPU和Ubuntu 14.04系統的deb本地安裝包,大小約1.9GB,如果需要其他安裝方式可以按官網教程進行。

下載完成後,打開Terminal,前往指定的目錄,然後執行:

sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update
sudo apt-get install cuda

安裝完成後,需要添加環境變量。使用gedit打開如下文檔:

sudo gedit /etc/profile

在文件末尾添加:

PATH=/usr/local/cuda/bin:$PATH
export PATH

保存完成後,執行如下命令使環境變量立即生效:

source /etc/profile

然後還需要添加lib的路徑:

sudo gedit /etc/ld.so.conf.d/cuda.conf

在文件中寫入如下內容然後保存:

/usr/local/cuda/lib64

之後執行如下命令使之生效:

sudo ldconfig

PS:上面的命令使L-D-C-O-N-F-I-G!!! 無數的人把L寫成了I,然後告訴我報錯。

執行完了這些操作之後,還可以安裝CUDA SAMPLES來檢測CUDA是否運行正常,鑒於這不是CUDA編程教程,本教程暫不介紹。

4. 安裝其他的一些依賴項

sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev
sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
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

PS:復制粘貼太長的命令可以能因為浏覽器的原因導致輸入了多余的換行符,如果復制粘貼帶有換行符的命令進Terminal,會被當做兩條命令來執行,一定要注意這一點。

5. 安裝ATLAS

本步驟可以用OpenBLAS或者Intel MKL替代。我在E5-2690v2+GTX780的平台上測試過這三種庫,性能相差無幾,這裡就介紹其中一種:

sudo apt-get install libatlas-base-dev

然後自動安裝完成即可。

目前intel MKL是收費軟件,OpenBLAS可以免費下載和安裝。如果使用這兩種庫,編譯Caffe時要在Makefile.config做出對應的修改。

6. 安裝OpenCV

從OpenCV官網上下載OpenCV官網上下載OpenCV的未編譯源代碼:

點擊這裡

國內很多網絡打開OpenCV官網速度緩慢,可以點擊如下地址直接從GitHub上下載OpenCV 3.1的源代碼

下載地址

下載完成後解壓縮,然後在Terminal中轉到該目錄下,執行

mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j10

PS:上一句代碼中的-j10指10線程同時編譯,根據自己CPU的特點調整該參數,如果不了解自己CPU,直接執行make即可。

sudo make install

7.下載Caffe

從GitHub上直接下載Caffe的最新版

git clone https://github.com/BVLC/caffe.git

也可以從Caffe的GitHub工程中下載Caffe的歷史版本:

https://github.com/BVLC/caffe

8. 安裝Python(optional)

先安裝相關依賴項

sudo apt-get install python-dev python-pip

轉到下載的caffe的目錄下,然後轉到python目錄下

cd python

執行如下命令:

for req in $(cat requirements.txt); do sudo pip install $req; done

等待其自動安裝即可。

9. 安裝MATLAB(optional)

本步驟為可選項目,MATLAB為收費軟件,請支持正版。

10. 配置cuDNN(optional)

cuDNN需要注冊Accelerated Computing Developer Program,然後可以免費下載。

cuDNN是The NVIDIA CUDA Deep Neural Network library,對於使用NVIDIA顯卡進行深度學習加速具有很大的性能提升,非常建議添加。

在如下地址進行注冊和下載,支持下載歷史版本:

點擊這裡

PS:另外,cuDNN在很多工程中兼容性較差,可能需要安裝特定的歷史版本。

下載後解壓縮,轉到該目錄下,執行:

sudo cp lib* /usr/local/cuda/lib64/
sudo cp cudnn.h /usr/local/cuda/include/

更新軟鏈接

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

PS:根據你下載的cuDNN版本不同,需要對如上命令中的版本進行修改,以上展示的命令是對於cuDNN 5.1.3的。

11. 編譯Caffe

在caffe目錄下,執行:

cp Makefile.config.example Makefile.config

然後打開Makefile.config,根據自己的需要修改相關參數。

如果使用了cuDNN,則如下行取消注釋:

# USE_CUDNN := 1

如上教程中,使用了OpenCV 3.1,則如下行取消注釋:

# OPENCV_VERSION := 3

其他可以根據需求修改,比如安裝了MATLAB後寫入正確的MATLAB安裝路徑等。

然後進行編譯:

make all -j10
make test
make runtest

PS:-j10這一參數已經在前面的教程中說過了,再說一次:

-j10指10線程同時編譯,根據自己CPU的特點調整該參數,如果不了解自己CPU,直接執行make即可。

然後可以根據需求編譯matcaffe和pycaffe:

make matcaffe
make pycaffe

然後caffe就安裝結束了。

12. 運行minist demo

轉到 Caffe 目錄下

sh data/mnist/get_mnist.sh
sh examples/mnist/create_mnist.sh
sh examples/mnist/train_lenet.sh

如果運行正常,caffe就可以正常工作了。

本教程編寫參考了如下教程 http://www.linuxidc.com/Linux/2015-04/116444.htm

Caffe的官方網站是 http://caffe.berkeleyvision.org/

Ubuntu 14.04 安裝配置CUDA http://www.linuxidc.com/Linux/2014-10/107501.htm

Ubuntu 12.04配置NVIDIA CUDA5.5實錄 http://www.linuxidc.com/Linux/2014-10/107502.htm

Ubuntu安裝Theano+CUDA http://www.linuxidc.com/Linux/2014-10/107503.htm

關於Ubuntu 12.04 下 CUDA5.5 的安裝請參看如下鏈接 Ubuntu 12.04 安裝 CUDA-5.5

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

Copyright © Linux教程網 All Rights Reserved