深度學習環境配置:Ubuntu16.04安裝GTX1080Ti+CUDA9.0+cuDNN7.0完整安裝教程(多鏈接多參考文章)


本來就對Linux不熟悉,經過幾天慘痛的教訓,參考了不知道多少篇文章,終於把環境裝好了,每篇文章或多或少都有一些用,但沒有一篇完整的能解決我安裝過程碰到的問題,所以決定還是自己寫一篇我安裝過程的教程,有些參考的文章會給出原地址,比較大眾的教程就沒有給出了。

本文寫於2018年7月27日,注意下時效性,有問題歡迎留言

1. 安裝Ubuntu16.04

  • 系統下載地址: http://releases.ubuntu.com/16.04/ 

  • 下載64位系統:ubuntu-16.04.4-desktop-amd64.iso

  • 制作系統盤安裝,推薦使用UltraISO,找到一個U盤(U盤數據必須備份好)
  • 打開UltraISO軟件,選擇菜單中的文件,打開下載好的系統
  • 再選擇菜單中的啟動,寫入硬盤映像,完成后啟動U盤就做好了,之后重新啟動后選擇U盤啟動根據提示安裝系統即可,具體細節可以在網上查找相應的文章,網上非常多。

 

2.安裝NVIDIA驅動

2.1 修改更新源

  • 系統安裝完成后,應該首先修改的更新源,如果不修改的話更新的鏡像地址不在國內下載速度是非常慢的,用的是中科大的源(還有阿里源,清華源等等,網上一查就有了):
  • 右鍵打開終端,一條一條執行以下命令,如果是沒有桌面端的系統,可以把gedit 改成 vi 進行編輯,gedit可以像打開文本文件一樣方便編輯
  • cd /etc/apt/
    sudo cp sources.list sources.list.bak
    sudo gedit sources.list
  • 把下面的這些源添加到source.list文件頭部:
  • deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
    deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
  • 保存后,退出文件,然后執行下面命令更新一下,等一會兒就行了,速度還是很快的
  • sudo apt-get update
    sudo apt-get upgrade

 

2.2 驅動下載和安裝以及一些問題解決

 

  • 接下來開始安裝NVIDIA驅動了,我的顯卡是GTX1080Ti,安裝顯卡驅動有3種方法:1.系統更新驅動 2.添加官方ppa源  3.NVIDIA官網下載安裝
  • 感興趣的同學可以去查找對應的安裝方式,這里我選擇的安裝方式是去NVIDIA官網下載Linux版本的驅動,
  • 官網地址:https://www.geforce.cn/drivers 或者 https://www.nvidia.cn/Download/index.aspx?lang=cn
  • 建議去左邊的地址可以選擇版本,右邊的地址會直接給你推薦最新版本,選擇你對應版本的系列選擇,操作系統別選錯了
  • 搜索出來這么多結果,先別急着下載,BETA版本為測試版就別下載了,其次這么多版本,到底下載哪個比較好,比如我們圖上第二個版本是390.77,這需要看我們CUDA的版本要求的驅動版本是多少
  • 我們打開CUDA下載網站:https://developer.nvidia.com/cuda-downloads
  • 我這里目前最新的版本是CUDA9.2,再選擇了一系列的選項后會給出CUDA9.2的下載地址如下圖:
  • 可以看到,下載的文件名為cuda_9.2.148_396.37,這個396.37就是我們NVIDIA驅動版本的最低要求,可是顯卡驅動目前提供的Linux版本最高也就390.77,所以我們不能安裝CUDA9.2,於是我選擇安裝CUDA9.0,下面給出一個驅動要求表格,如果要下載CUDA其他版本請到cuda的存檔地址:https://developer.nvidia.com/cuda-toolkit-archive
  • 上面講了這么多,終於要開始安裝NVIDIA驅動了,CUDA9.0文件可以先下載好
  • 1)打開終端,先刪除舊的驅動:

  • sudo apt-get purge nvidia*
  • 2)禁用自帶的 nouveau nvidia驅動

  • 先執行下面命令,可以發現會顯示一些東西,我們現在要禁用掉,使它不顯示出來
  • lsmod | grep nouveau
  • 執行以下命令創建一個文件
  • sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
  • 並添加如下內容:
  • blacklist nouveau
    options nouveau modeset=0
  • 然后保存文件退出,執行下面命令更新一下
  • sudo update-initramfs -u
  • 然后重啟電腦,重啟后打開終端再次輸入命令
  • lsmod | grep nouveau
  • 如果發現什么都沒顯示,那么說明禁用nouveau 成功了,然后開始安裝NVIDIA驅動
  • 首先按Ctrl+Alt+F1進入控制台,然后輸入用戶名密碼登陸,執行下面命令關閉圖形界面
  • sudo service lightdm stop
  • 然后跳轉到存放文件的路徑再運行安裝文件,比如我的文件放在Downloads目錄下,命令如下:
  • cd Downloads
    sudo sh NVIDIA-Linux-x86_64-390.42.run --no-opengl-files
  • 必須加上 --no-opengl-files ,否則會出現題主要是三種,(1)循環登錄,也就是登錄之后在退出來到登錄界面; (2)界面變得很大,看着心慌,哈哈;(3)登錄進去了,顯示正常了,結果只有桌面背景和鼠標等等
  • 安裝過程種有出現提示選項,這里主要注意兩點(如果看不懂選項的英文,自己查字典):
  • 第一點(不是所有電腦都會遇到,如果沒有請忽視這1.)是安裝提示 “sign  the kernel module”   安裝過程中提示是否sign the kernel module(為內核模塊簽名)
  • 我當時是選擇了不簽名安裝,於是我這里出現了錯誤提示  log:/ver/log/nvidia-installer.log ,查找到了相關文章:https://blog.csdn.net/lipi37/article/details/79465685
  • 大意是在支持UEFI的設備上打開Secure Boot 后,Ubuntu 16.04對於添加到內核的模塊更加保守, 需要持有簽名才能添加到模塊中, 而顯卡驅動由於要添加到內核中, 所以需要簽名. 在安裝過程中我們也會看到NVIDIA顯卡會提示是否生成簽名. 如果生成成功則沒有問題。如果不想生成簽名就需要進入BIOS關閉Secure Boot,在Key Management中Clear Secure Boot keys。雖然找到了解決辦法但我還是選擇生成簽名。
  • 選擇生成簽名安裝,參考文章:https://www.cnblogs.com/marky/p/8243607.html  。接下來會繼續問使用已有的密鑰給模塊簽名還是重新生成。這里選在重新生成密鑰。繼續下去之后,密鑰會在/usr/share/nvidia/下生成一個nvidia*.der(私鑰)文件和nvidia*.key(公鑰)文件(這些都不用管),當提示是否刪除已生成的密鑰文件時,選擇不刪除,因為之后要用到這兩個文件。繼續安裝程序到最后會提示無法啟動模塊。這是因為生成的密鑰還沒有添加到內核的信任庫中,我們在安裝完成后再導入。
  • 第二點提示是”Would you like to run the nvidia-xconfig utility to automatically update your X configuration file…”什么的,選擇 No。
  • 待安裝結束后,添加密鑰到內核的信任列表中:
  • sudo /etc/init.d/lightdm start      //打開圖形界面
    sudo mokutil --import /usr/share/nvidia/nvidia*.der    //必須加上 sudo
  • 接下來提示輸入密碼,再次輸入密碼,然后
  • sudo  reboot  //重啟
  • 在電腦剛啟動的時候會出現一個界面,就是叫你添加密鑰操作,選擇 “enroll the mok” ,然后按照步驟操作,輸入密碼什么的,如果進錯了就再執行上面的 sudo mokutil...
  • 導入成功后就進入系統就可以了,圖如下(取自http://elrepo.org/tiki/SecureBootKey):
  • 進入系統后測試一下是否安裝成功
  • nvidia-smi
    nvidia
    -settings
  • 出現類似下面的顯示,則安裝成功

3.安裝CUDA9.0

  • 在上面已經說過了,CUDA9.2版本所需要的顯卡驅動版本過高,所以這里我選擇安裝CUDA9.0(CUDA9.1也支持)
  • 安裝方法和上面類似
  • 首先按Ctrl+Alt+F1進入控制台,然后輸入用戶名密碼登陸,執行下面命令關閉圖形界面
  • sudo service lightdm stop
  • 然后跳轉到存放文件的路徑再運行安裝文件,比如我的文件放在Downloads目錄下,命令如下:
  • cd Downloads
    sudo sh cuda_9.0.176_384.81_linux.run
  • 安裝開始以后,首先是一個協議,一直按空格到底以后,輸入accept。其他的操作如下所示:
  • Do you accept the previously read EULA?
    accept/decline/quit: accept
     
    Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
    (y)es/(n)o/(q)uit: n
     
    Install the CUDA 9.0 Toolkit?
    (y)es/(n)o/(q)uit: y
     
    Enter Toolkit Location
    [ default is /usr/local/cuda-9.0 ]:
     
    Do you want to install a symbolic link at /usr/local/cuda?
    (y)es/(n)o/(q)uit: y
     
    Install the CUDA 9.0 Samples?
    (y)es/(n)o/(q)uit: y
  • 第二個安裝顯卡驅動一定要選擇no,否則之前安裝的驅動就白裝了,有默認選項的直接選擇默認選項就可以了(直接回車)
  • 安裝完成后,打開圖形界面配置環境變量,運行如下命令打開profile文件
  • sudo service lightdm start   //打開圖形界面
    sudo gedit  /etc/profile
  • 打開文件后在文件末尾添加路徑,也就是安裝目錄,命令如下:
  • export  PATH=/usr/local/cuda-9.0/bin:$PATH
    
    export  LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH 
  • 保存后執行一個命令后重啟電腦
  • sudo ldconfig
    sudo reboot
  • 查看版本和測試CUDA的例子
  • 查看版本
    nvcc --version
  • 編譯例子測試
    cd  /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
    sudo make
    ./deviceQuery
  • 執行成功的話會出現下面信息:
  • 編譯例子的時候如果報錯顯示:CUDA driver version is insufficient for CUDA runtime version  解決方法卸載重新安裝參考文章:https://www.cnblogs.com/wolflzc/p/9117291.html

  • 找到對應版本,下載后先把前面的安裝的卸載再安裝
  • 如果安裝錯了版本比,如我一開始裝了CUDA9.2,卸載操作如下:
  • sudo apt-get remove cuda 
    
    sudo apt-get autoclean
    
    sudo apt-get remove cuda*
    
    然后在目錄切換到/esr/local/下
    
    cd /usr/local/
    
    sudo rm -r cuda-9.2
  • 然后按照前面的安裝CUDA的教程來就可以了
  • 接下來再添加下環境變量
  • sudo gedit ~/.bashrc
  • 打開文件后,將下面內容添加到文件的最后面,保存后退出
  • export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
  • 然后設置環境變量和動態鏈接庫,在命令行輸入:
  • sudo gedit /etc/profile
  • 在打開的文件末尾加入:
  • export PATH=/usr/local/cuda/bin:$PATH
  • 保存之后,創建鏈接文件:
  • sudo gedit /etc/ld.so.conf.d/cuda.conf
  • 在打開的文件中添加如下語句:
  • /usr/local/cuda/lib64
  • 然后執行,使鏈接立即生效
  • sudo ldconfig

4.安裝cuDNN7.0

  • 下載地址:https://developer.nvidia.com/rdp/cudnn-archive
  • 進去后下載自己對應的CUDA版本的cudnn文件,如下圖:
  • 我是選擇 cuDNN v7.0.5 Library for Linux 千萬別選[Power8]的版本,我查了一下,這個是給Power8處理器使用的,由於v7.1.2版本還沒提供普通版本,所以就下載了v7.0.5
  • 這里下載是需要注冊登陸的,要填一些調查表什么的之后才能下載,如果版本和我相同我這里提供cuDNN的百度雲下載地址:
  • 鏈接:https://pan.baidu.com/s/1Yi6IkjUDbiBmAd9Dm4YruQ 密碼:k73g
  • 安裝過程也比較簡單,下載后是一個壓縮包,解壓下來放在cuda的路徑中就可以了
  • 繼續Ctrl+alt+F1進入命令模式,關閉圖形界面
  • sudo service lightdm stop
  • 使用命令解壓文件cudnn-9.0-linux-x64-v7.tgz,並且復制到cuda路徑中
  • tar -zxvf cudnn-9.0-linux-x64-v7.tgz
    cd cuda    
    sudo cp lib64/lib* /usr/local/cuda/lib64/    
    sudo cp include/cudnn.h /usr/local/cuda/include/ 
  • 然后更新網絡連接:
  • cd /usr/local/cuda/lib64/  
    sudo chmod +r libcudnn.so.7.0.5  //自己查看.so的版本 對應更改  
    sudo ln -sf libcudnn.so.7.0.5 libcudnn.so.7  
    sudo ln -sf libcudnn.so.7 libcudnn.so  
    sudo ldconfig 
  • 重新啟動圖形化界面
  • sudo service lightdm start
  • 沒有顯示出圖形界面的話 按Ctrl+Alt+F7進入圖形界面
  • 安裝完成后可用 nvcc -V 命令驗證是否安裝成功,若出現版本信息則表示安裝成功
  • 到這一步已經大功告成了,接下來就安裝Anaconda,配置Python,tensorflow等軟件,有機會的話還會補充。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM