ubuntu16.04 + cuda10.0 + cudnn7.6安裝(安裝經驗總結)

近期因爲要學習深度學習相關知識,需要搭建深度學習環境。配置環境過程中,遇到了很多坑,如今記錄一下,以備後續參考。

安裝環境:

- ubuntu 16.04 64bit
- 顯卡:NVIDIA 1660ti + 集成顯卡gtx720

- 驅動:nvidia 430.05

- 軟件:cuda_10.0.130_410.48_linux.run + cudnn-10.0-linux-x64-v7.6.3.30.solitairetheme8

首先要了解配置深度學習環境所需要的軟件版本對應關係。

1)cuda與顯卡驅動的版本對應關係:

cuda各版本鏈接:https://developer.nvidia.com/cuda-toolkit-archive

2.內核版本確認

在安裝顯卡驅動之前,首先要查看ubuntu16.04對應的內核版本,可以參考https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

從上表可以看出是4.4,由於我的是4.15,需要將它降級到4.4。

a.查看當前安裝的內核版本
dpkg -l|grep linux-image
b.查看可以更新的內核版本
sudo apt-cache search linux-image
c.安裝新內核
sudo apt-get install linux-image-4.4.0-77-generic linux-image-extra-4.4.0-77-generic
d.更新grub引導
sudo update-grub
e.重啓按Esc或Shift+Tab選擇Ubuntu高級選項,進入4.4的內核
f.卸載不要的內核
sudo apt-get purge linux-image-xx-xx-generic linux-image-extra-xx-xx-generic
g.更新grub引導
sudo update-grub

h. 查詢當前gcc版本:

gcc -v 

i. 查看glibc版本方法有兩種:

第一種爲:ldd --version;

第二種方法爲:getconf GNU_LIBC_VERSION。

2.顯卡驅動安裝

 

1 禁用自帶的顯卡驅動nouveau

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

在其中加入:

blacklist nouveau option nouveau modeset=0

然後

sudo update-initramfs -u

重啓系統(一定要重啓)

 

驗證nouveau是否已禁用

lsmod | grep nouveau

沒有信息顯示,說明nouveau已被禁用,接下來可以安裝nvidia的顯卡驅動。

 

2.2 加入環境變量

sudo gedit ~/.bashrc

在其中加入:

export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

執行

source ~/.bashrc

2.3安裝NVIDIA顯卡驅動

在英偉達的官網上查找你自己電腦的顯卡型號然後下載相應的驅動。網址:http://www.nvidia.cn/page/home.html

我下載的版本:NVIDIA-Linux-x86_64-430.05.run(注意不同的版本最後安裝執行的具體選項不同)

下載後的run文件拷貝至home目錄下。

 

查看自己的顯卡型號:

sudo lshw -numeric -C display

如果之前安裝過nvidia驅動,先卸載:

sudo apt-get remove --purge nvidia-*

Ctrl-Alt+F1 進入命令行界面

cd Downloads
sudo service lightdm stop      //這個是關閉圖形界面,不執行會出錯。
sudo /etc/init.d/lightdm stop #關閉當前圖形環境令
sudo chmod a+x NVIDIA-Linux-x86_64-430.05.run #給驅動run文件賦予執行權限
sudo ./NVIDIA-Linux-x86_64-430.05.run --no-x-check--no-nouveau-check --no-opengl-files  
# 這句一定要加參數,不然就會循環登錄。

如果進入循環登錄,要再次Ctrl-Alt+F1 進入命令行界面,卸載驅動:
sudo apt-get remove –purge nvidia-*

  • –no-opengl-files 只安裝驅動文件,不安裝OpenGL文件。這個參數最重要
  • –no-check 安裝驅動時不檢查X服務
  • –no-nouveau-check 安裝驅動時不檢查nouveau

後面兩個參數可不加(Ps: 沒懂 - 與 - - 的區別,貌似都可以,我上面寫的是兩個- -哦)。

sudo /etc/init.d/lightdm start #重新啓動圖形環境
sudo service lightdm start
reboot

3. 安裝cuda

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

注意一定要下載runfile。

Ctrl-Alt+F1 進入命令行界面

 

cd Downloads

sudo service lightdm stop #禁用X服務
sudo /etc/init.d/lightdm stop #一樣的命令

chmod +x ./cuda_10.0.130_410.48_linux.run  #給文件添加運行權限:

sudo sh cuda_10.0.130_410.48_linux.run --no-opengl-libs

注:第一條問是否安裝nvidia驅動,選擇no,後面一直輸入yes就行

 

sudo /etc/init.d/lightdm start #啓用服務

reboot

重啓之後進入修改環境配置

 

sudo gedit ~/.bashrc

加入:

 

export PATH=/usr/local/cuda-10.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

執行: 

 

source ~/.bashrc

1)測試安裝是否成功:

cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

顯示gpu信息,說明安裝成功。

查看顯卡情況:nvidia-smi

2)測試是否安裝成功

nvcc -V

 

4. 配置cuDNN

4.1 官網下載:https://developer.nvidia.com/rdp/cudnn-download

註冊賬號之後,下載對應版本的cudnn

下載完直接解壓,解壓會出現一個cuda文件夾,裏面有兩個文件include 和 lib64,把裏面的文件copy到/usr/local/cuda/裏面相應的目錄裏。 如果你就在local下解壓的就不要移動了。只需要給文件加讀權限即可!

cd Downloads

4.2解壓

tar -xzvf cudnn-10.0-linux-x64-v7.6.3.30.tgz

 

43.把include/ 和 lib64/目錄下的文件拷貝到cuda的安裝目錄下的include/ 和 lib64裏面

sudo cp cuda/include/cudnn.h /usr/local/cuda/include

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
 

5. 驗證cudnn是否安裝成功

5.1查看cudnn版本
在終端輸入

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
  •  

如果出現版本信息,說明安裝成功。

 

5.2當選擇Debian File進行安裝時會在/usr/src/cudnn_samples_v7有一些cudnn的例子

編譯mnistCUDNN sample進行驗證

cp -r /usr/src/cudnn_samples_v7/ $HOME

cd  $HOME/cudnn_samples_v7/mnistCUDNN

make clean && make

./mnistCUDNN

如果安裝成功將會有如下圖所示的:Test passed!

 

卸載CUDA以及CUDNN

(1)卸載CUDA

sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.pl 

(2)卸載CUDNN

刪除原來的cudnn文件:

sudo rm -rf /usr/local/cuda-10.0/lib64/libcudnn*

sudo rm -rf /usr/local/cuda-10.0/include/cudnn.h

 

參考文章:

ubuntu16.04 + NVIDIA驅動 + CUDA + cuDNN + tensorflow-gpu + keras安裝https://blog.csdn.net/FYZ530357172/article/details/79207764

ubuntu16.04安裝cuDNN的兩種方式以及驗證

https://blog.csdn.net/dudu815110/article/details/88592558

Ubuntu 16.04 上 CUDA_10.0及cuDNN的安裝,

https://blog.csdn.net/lihe4151021/article/details/90237681

Ubuntu 16.04 下cuda和cudnn的卸載和升級

https://blog.csdn.net/wanzhen4330/article/details/81704474

Ubuntu16.04 + cuda9.0 + cudnn7.1.4 + tensorflow安裝

https://www.cnblogs.com/xiaojianliu/p/9312098.html

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章