歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 16.04 安裝配置Caffe 圖文詳解

Ubuntu 16.04 安裝配置Caffe 圖文詳解

日期:2017/2/28 13:45:24   编辑:Linux教程

Caffe已經是第三次安裝配置了,為什麼是第三次呢?因為我實在是低估了深度學習對於硬件的要求。第一次我在自己筆記本上配置的單核,CPU only ... 結果是,樣例數據跑了4小時,這還怎麼玩?第二次在台式機上,因為台式機比較low,I5處理器4核,沒有NVIDIA的GPU。我把別人訓練好的模型下載下來,然後自己測試,發現真的成功了,心裡小激動~ 然而,當我自己訓練模型時,我訓練7天..... 關鍵是7天了還在跑.....

心想,我這個窮逼難道要自己掏錢買個服務器?那怎麼可能。還好,老師人非常好,給我找了個服務器~ 現在終於是勞資大顯身手的時候了。

整個配置過程很長啊,坑多,沒有Linux基礎的就別來了,你會崩潰的。我參考了好幾個帖子,基本上每個帖子都有或多或少的問題,文章結尾的時候,我會留下前輩們的文章地址,算是對他們的尊敬和對我幫助的感謝。好,下面切入正題!

電腦配置:

系統:Ubuntu16.04 GPU:NVIDIA Corporation GM107GL [Quadro K620] (提示:在linux下可以通過 lspci | grep -i vga 查看)

Caffe 深度學習入門教程 http://www.linuxidc.com/Linux/2016-11/136774.htm

Ubuntu 16.04下Matlab2014a+Anaconda2+OpenCV3.1+Caffe安裝 http://www.linuxidc.com/Linux/2016-07/132860.htm

Ubuntu 16.04系統下CUDA7.5配置Caffe教程 http://www.linuxidc.com/Linux/2016-07/132859.htm

Caffe在Ubuntu 14.04 64bit 下的安裝 http://www.linuxidc.com/Linux/2015-07/120449.htm

深度學習框架Caffe在Ubuntu下編譯安裝 http://www.linuxidc.com/Linux/2016-07/133225.htm

Caffe + Ubuntu 14.04 64bit + CUDA 6.5 配置說明 http://www.linuxidc.com/Linux/2015-04/116444.htm

Ubuntu 16.04上安裝Caffe http://www.linuxidc.com/Linux/2016-08/134585.htm

Caffe配置簡明教程 ( Ubuntu 14.04 / CUDA 7.5 / cuDNN 5.1 / OpenCV 3.1 ) http://www.linuxidc.com/Linux/2016-09/135016.htm

Ubuntu 16.04上安裝Caffe(CPU only) http://www.linuxidc.com/Linux/2016-09/135034.htm

安裝過程

1.安裝相關依賴項

1 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
2 sudo apt-get install --no-install-recommends libboost-all-dev
3 sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
4 sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

2.安裝NVIDIA驅動

(1)查詢NVIDIA驅動

首先去官網 http://www.nvidia.com/Download/index.aspx?lang=en-us 查看適合自己顯卡的驅動並下載:

驅動文件後綴名應當是以.run結尾的。我們要把這個文件移動到家目錄下,原因是下面我們要切換到文字界面下,如果放到~/下載 下面,我們沒有辦法進入下載這個目錄(沒有中文輸入法,且中文全部是亂碼)

圖1 輸入顯卡型號 圖2 顯卡驅動搜索結果

我的顯卡型號是Quadro K620,系統是linux 64位,按照要求選擇後點擊search. 圖2是搜索結果,點擊下載就好了。

我下載後的驅動文件是:NVIDIA-Linux-x86_64-375.20.run

(2)安裝驅動

在終端下輸入: sudo gedit /etc/modprobe.d/blacklist.conf

輸入密碼後在最後一行加上 blacklist nouveau . 這裡是將Ubuntu自帶的顯卡驅動加入黑名單。

在終端輸入: sudo update-initramfs -u

重啟電腦~
這裡要尤其注意,安裝顯卡驅動要先切換到文字界面,(按Ctrl+Alt+F1~F6).所以,啟動電腦後,先進入文字界面。

然後,輸入命令 sudo service lightdm stop

現在可以安裝驅動了,先進入家目錄 cd ~ ,然後: sudo ./NVIDIA-Linux-x86_64-375.20.run,按照提示一步步來~

完成後,再次重啟電腦。

安裝完成之後輸入以下指令進行驗證: sudo nvidia-smi ,若列出了GPU的信息列表則表示驅動安裝成功。如下圖:

3.安裝CUDA

CUDA是NVIDIA的編程語言平台,想使用GPU就必須要使用cuda。 (1)下載CUDA 首先在官網上(https://developer.nvidia.com/cuda-downloads)下載CUDA:

(2) 下載完成後執行以下命令:

1 sudo chmod 777 cuda_8.0.44_linux.run
2 sudo  ./cuda_8.0.44_linux.run

注意:執行後會有一系列提示讓你確認,但是注意,有個讓你選擇是否安裝nvidia367驅動時,一定要選擇否:
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.48?
因為前面我們已經安裝了更加新的nvidia367,所以這裡不要選擇安裝。其余的都直接默認或者選擇是即可。

(3)環境變量配置

打開~/.bashrc文件: sudo gedit ~/.bashrc
將以下內容寫入到~/.bashrc尾部:

1 export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
2 export LD_LIBRARY_PATH=/usr/local/cuda8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

(4)測試CUDA的samples

1 cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
2 make
3 sudo ./deviceQuery

如果顯示一些關於GPU的信息,則說明安裝成功。

4.配置cuDNN
cuDNN是GPU加速計算深層神經網絡的庫。
首先去官網 https://developer.nvidia.com/rdp/cudnn-download 下載cuDNN,需要注冊一個賬號才能下載。下載版本號如下圖:

下載cuDNN5.1之後進行解壓:

sudo tar -zxvf ./cudnn-8.0-linux-x64-v5.1.tgz 

進入cuDNN5.1解壓之後的include目錄,在命令行進行如下操作:

cd cuda/include
sudo cp cudnn.h /usr/local/cuda/include  #復制頭文件

再將進入lib64目錄下的動態文件進行復制和鏈接:

cd ..
cd lib64
sudo cp lib* /usr/local/cuda/lib64/    #復制動態鏈接庫
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5 #刪除原有動態文件 sudo ln -s libcudnn.so.5.0.5 libcudnn.so.5 #生成軟銜接 sudo ln -s libcudnn.so.5 libcudnn.so #生成軟鏈接

5.安裝opencv3.1
從官網(http://opencv.org/downloads.html)下載Opencv,並將其解壓到你要安裝的位置,假設解壓到了/home/opencv。

1 unzip opencv-3.1.0.zip
2 sudo cp ./opencv-3.1.0 /home
3 sudo mv opencv-3.1.0 opencv

安裝前准備,創建編譯文件夾:

cd ~/opencv
mkdir build
cd build

配置:

1 sudo apt install cmake
2 sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

編譯:

sudo make -j8 

-j8表示並行計算,根據自己電腦的配置進行設置,配置比較低的電腦可以將數字改小或不使用,直接輸make。

可能出現問題:

這是因為opecv3.0與cuda8.0不兼容導致的。解決辦法:修改 ~/opencv/modules/cudalegacy/src/graphcuts.cpp文件內容,如圖:

其中, #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)||(CUDART_VERSION>=8000) 是我們修改的。
以上只是將opencv編譯成功,還沒將opencv安裝,需要運行下面指令進行安裝:

sudo make install
Copyright © Linux教程網 All Rights Reserved