2021-05-12 14:32:11
Ubuntu 16.04 安裝設定Caffe 圖文詳解
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
(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。
可能出現問題:
其中, #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)||(CUDART_VERSION>=8000) 是我們修改的。
以上只是將opencv編譯成功,還沒將opencv安裝,需要執行下面指令進行安裝:
sudo make install
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2016-12/138870p2.htm
相關文章