2021-05-12 14:32:11
Ubuntu 14.04 64bit下Caffe + Cuda6.5/Cuda7.0 安裝設定教學
隨著深度學習快速發展的浪潮,許多有興趣的工作者都轉入了這個有著很好前景的研究中。工欲善其事,必先利其器。Caffe是一個很不錯的深度學習框架,但它的安裝步驟比較繁瑣,將許多新手拒之門外,於是我就寫了這篇部落格,主要是我之前安裝Caffe也是費了很多時間,由零基礎慢慢學習,很羨慕那些有師兄師姐可以幫助的人。
下面開始正式介紹相關安裝步驟,該教學主要包括以下幾方面的內容:
第一部分:安裝所需要的包
第二部分:NVIDIA 驅動和CUDA 安裝
第三部分:Caffe安裝和測試
第一部分:安裝所需要的包
第一部分:安裝所需要的包
- sudo apt-get install build-essential # basic requirement
- 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 #required by caffe
提示:使用 sudo apt-get install libboost-all-dev ,預設安裝boost1.54版本,如果想要使用1.55版本,可以使用命令:sudo apt-get install libboost1.55-all-dev(推薦)
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 16.04 LTS+NVIDIA@GT620M+CUDA6.5環境搭建總結 http://www.linuxidc.com/Linux/2016-10/135911.htm
第二部分:NVIDIA 驅動和CUDA 安裝
重要提示:安裝完Ubuntu系統以及CUDA之後,切莫進行系統更新,會引起不能正常進入桌面的情況,會令你很煩惱的。
安裝之前請進行md5檢驗,確保安裝包完整,檢驗命令為:md5sum 檔名,檢視輸出的md5sum是否跟你有的相同。
以cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb為例
目前CUDA官網已經提供離線*.deb安裝的方法,本教學提供兩種安裝方法(*.deb和*.run)
(一)離線 *.deb 安裝方法(推薦)
此方法不用切換到文字模型即可安裝。
(2.1.1)首先下載 對應系統的 離線CUDA安裝包 (*.deb) 連結:https://developer.nvidia.com/cuda-toolkit
(2.1.2)安裝下載到的 CUDA離線包 (cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb)
- 新增軟體源
- sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
- 更新軟體源
- sudo apt-get update
- 安裝CUDA
- sudo apt-get install cuda
- 重新啟動計算機(通過boot設定獨立顯示卡支援)
- sudo reboot
(2.1.3)修改環境變數
1)在 /etc/profile 檔案中新增以下內容:
- export PATH=/usr/local/cuda-7.0/bin:$PATH
命令:
- sudo vim /etc/profile
2)使環境變數生效
命令:
- source /etc/profile
(2.1.4)新增lib庫路徑
1)在 /etc/ld.so.conf.d/ 資料夾下新增 cuda.conf 檔案,內容如下:
- /usr/local/cuda-7.0/lib64
2)使庫路徑立即生效
- sudo ldconfig [-v,可選]
(2.1.5)安裝CUDA Samples
命令:
- sudo sh cuda-samples-linux-6.5.14-18745345.run
一直aceept就行,建議使用預設路徑。
編譯CUDA Samples
命令:
- cd /usr/local/cuda-6.5/samples
- sudo make
編譯完成後,進入路徑:/samples/bin/x86_64/linux/release
執行命令:
- ./deviceQuery
輸出:
- ./deviceQuery Starting...
- CUDA Device Query (Runtime API) version (CUDART static linking)
- Detected 1 CUDA Capable device(s)
- Device 0: "Tesla K40c"
- CUDA Driver Version / Runtime Version 6.5 / 6.5
- CUDA Capability Major/Minor version number: 3.5
- Total amount of global memory: 11520 MBytes (12079136768 bytes)
- (15) Multiprocessors, (192) CUDA Cores/MP: 2880 CUDA Cores
- GPU Clock rate: 745 MHz (0.75 GHz)
- Memory Clock rate: 3004 Mhz
- Memory Bus Width: 384-bit
- L2 Cache Size: 1572864 bytes
- Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
- Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers
- Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers
- Total amount of constant memory: 65536 bytes
- Total amount of shared memory per block: 49152 bytes
- Total number of registers available per block: 65536
- Warp size: 32
- Maximum number of threads per multiprocessor: 2048
- Maximum number of threads per block: 1024
- Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
- Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535)
- Maximum memory pitch: 2147483647 bytes
- Texture alignment: 512 bytes
- Concurrent copy and kernel execution: Yes with 2 copy engine(s)
- Run time limit on kernels: No
- Integrated GPU sharing Host Memory: No
- Support host page-locked memory mapping: Yes
- Alignment requirement for Surfaces: Yes
- Device has ECC support: Enabled
- Device supports Unified Addressing (UVA): Yes
- Device PCI Bus ID / PCI location ID: 1 / 0
- Compute Mode:
- < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >
- deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 6.5, CUDA Runtime Version = 6.5, NumDevs = 1, Device0 = Tesla K40c
- Result = PASS
(2.1.6)驗證NVIDIA 驅動和CUDA是否安裝成功
檢視安裝NVIDIA驅動版本 命令:
- cat /proc/driver/nvidia/version
輸出
- NVRM version: NVIDIA UNIX x86_64 Kernel Module 340.96 Sun Nov 8 22:33:28 PST 2015
- GCC version: gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1)
從輸出資訊可以看出NVIDIA驅動版本為 340.96
安裝完成後,就可以重新啟動桌面服務了。
命令:
- sudo start lightdm
(二)離線 *.run 安裝方法
使用該方法安裝,可能需要嘗試多次安裝
(2.2.1)驗證顯示卡是否支援CUDA
命令:
- lspci | grep -i nvidia
檢視該計算機顯示卡是否存在於 連結 https://developer.nvidia.com/cuda-gpus 中。
(2.2.2)驗證系統,確定為x86架構,64bit系統
命令:
- uname -m && cat /etc/*release
輸出:
- x86_64
- DISTRIB_ID=Ubuntu
- DISTRIB_RELEASE=14.04
- DISTRIB_CODENAME=trusty
- DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"
- NAME="Ubuntu"
- VERSION="14.04.2 LTS, Trusty Tahr"
- ID=ubuntu
- ID_LIKE=debian
- PRETTY_NAME="Ubuntu 14.04.2 LTS"
- VERSION_ID="14.04"
- HOME_URL="http://www.ubuntu.com/"
- SUPPORT_URL="http://help.ubuntu.com/"
- BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
(2.2.3)驗證系統中是否已經安裝gcc,因為需要用gcc來編譯CUDA和Caffe
命令:
- gcc --version
(2.2.4)NVIDIA和CUDA安裝(*.run)
安裝之前請進行md5sum檢驗,確保安裝包完整,檢驗命令為:md5sum 檔名,檢視輸出的md5sum是否跟你有的相同。
該方法以 CUDA6.5 為例。
(2.2.4.1)首先下載 對應系統的 離線CUDA安裝包 (*.run) 連結:https://developer.nvidia.com/cuda-toolkit
(2.2.4.2)關閉桌面服務
進入Ubuntu, 按 Ctrl+Alt+F1 進入tty, 登入tty後輸入如下命令:sudo service lightdm stop。
此命令會關閉lightdm服務,如果你使用的是gdm或者其他的桌面服務,請在安裝NVIDIA顯示卡驅動前關閉它。
(2.2.4.3)關閉 Nouveau 開源驅動服務
Nouveau是一個開源的顯示卡驅動,Ubuntu 14.04 預設安裝了,但是它會影響nVidia驅動的安裝,啟動時需要將這個驅動加入黑名單中。
1):修改nvidia-graphics-drivers.conf檔案
- sudo vim /etc/modprobe.d/nvidia-graphics-drivers.conf
寫入:
- blacklist nouveau
儲存並退出:
- wq!
檢查:
- cat nvidia-graphics-drivers.conf
2):修改grub檔案
- sudo vim /etc/default/grub
末尾寫入:
- rdblacklist=nouveau nouveau.modeset=0
儲存並退出:
- wq!
檢查:
- cat /etc/default/grub
(2.2.4.4)安裝下載到的 CUDA離線包 (*.run)
1):安裝 *.run檔案,可以直接使用命令 sudo sh cuda_6.5.14_linux_64.run 一直aceept就行。
或者
相關文章