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

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

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

1. 安裝Ubuntu16.04

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

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

  • 製做系統盤安裝,推薦使用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驅動post

  • 先執行下面命令,能夠發現會顯示一些東西,咱們如今要禁用掉,使它不顯示出來
  • 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等軟件,有機會的話還會補充。
相關文章
相關標籤/搜索