Ubuntu18.04雙系統下安裝CUDA10+cuDNN7.5

前言

本篇寫於2019-4-25python

這兩天裝Ubuntu18.04雙系統簡直裝到崩潰。一是很是著名的開機卡死在Logo界面的問題,另外一個是在裝Nvidia驅動和CUDA的時候,更是費心。而網上的資料又參差不齊,走了很多彎路。因而作個總結,方便之後的本身,也方便別人。linux

首先:個人機器是戴爾靈越5577,如下方案不必定適合您的機器,操做失敗還請自行百度解決,而且安裝所CUDA和cuDNN版本請務必參照官網配置ubuntu

另外:安裝過程當中並無保留截圖,如下也只有文字敘述,有時間會補上。vim

裝機

鏡像是在Ububtu官網下載的鏡像,這沒有什麼異議。啓動盤製做方面我選擇rufus,小巧免費好用,並且很是適合製做Linux啓動盤。bash

選好U盤選好鏡像後就能夠製做了,我是選的默認設置,以下圖。我也試過gpt格式的,都可。測試

製做完成後,關閉rufus就能夠了,帶着U盤,從新啓動。ui

進入U盤引導(不一樣品牌的電腦有不一樣的方式,Dell是按F12選擇啓動方式),進入grub界面。google

你可能看過許多教程說的是,爲防止開機開在Logo,選中Install Ubuntu,而後按e編輯。個人建議是先別這樣作,由於編輯後進入的安裝界面屏幕分辨率會很低,許多按鈕在屏幕下方根本點不到,安裝很不方便。這裏我直接回車開始安裝,至於會卡在logo這個問題,裝好後再弄。.net

而後一步步安裝就能夠了。裝的時候必定要注意:不要聯網不要選安裝驅動啥的,最小化安裝便可手動分區。個人分區方式以下,共分給Linux 100G日誌

目錄 大小
/ 20G 邏輯分區
/boot 1G 邏輯分區
/home 69G 邏輯分區

裝完後,會顯示從新啓動,若是點當即重啓的話,不出意外,會卡在這裏,不要緊,按住電源鍵不放,強制關機。再開機後就可看到系統選擇界面了。

這個時候不要着急選擇,先選中Ubuntu,按e鍵進入編輯,將倒數第二段最後(多是倒數第三行,不難分辨)的quiet splash 後加上nomodeset,注意nomodeset要和先後有一個空格。而後按F10,便可開機。

這時候,應該能夠進入系統了,這個時候開始安裝顯卡驅動。

安裝驅動

這裏有不少教程說是經過sudo ubuntu-drivers autoinstall這個方法安裝的,可是就我親身經歷而言,並很差使,這裏安裝驅動是沒問題的,可是後來在安裝CUDA的時候會遇到各類各樣的問題。

這裏的建議是,去Nvidia的官網選擇一個適合你的顯卡的驅動(我選的最新的),下載好備用。

在裝驅動以前,先將nouveau加入黑名單:

sudo vim /etc/modprobe.d/blacklist.conf

在末尾加上一行blacklist nouveau

保存退出,執行

sudo update-initramfs -u

另外:因爲折騰的次數比較多我還改了/etc/default/grub,不知道和這有沒有關係:

sudo gedit /etc/default/grub

而後將quiet splash後面加上acpi_osi=linux

保存退出,執行

sudo update-grub

接下來按CTRL+ALT+F2,進入純字符界面,以root身份登入,開始安裝顯卡驅動。首先進入剛纔下好的驅動所在的目錄,執行

sudo sh ./NVIDIA-Linux-x86_64-xxx.xx.run –no-opengl-files  # 必定不要忘記後面的參數

而後一路肯定,完成後重啓系統,進入BIOS(戴爾是按F2,其餘電腦型號請自行查找資料),關掉secure boot,設置爲disable,關掉後保存重啓。這裏必定要關掉,否則開機後是無法用剛纔裝的Nvidia驅動的。

啓動後在控制檯輸入nvidia-smi,若沒有報錯則證實安裝成功。

安裝CUDA

接下來,咱們安裝CUDA,我這裏使用的是CUDA10.0,由於目前tensorflow已經可使用CUDA10了,也就不挑舊版本安裝了。

到Nvidai官網上找到CUDA10.0的下載連接,Nvidia給出的默認的CUDA的下載連接是CUDA10.1,由於我沒試驗過,因此不知道可不能夠用,你能夠自行決定。

依次選擇 Linux -> x86_64 -> Ubuntu -> 18.04 -> runfile(local),選好後選擇Base Install開始下載。

下好後,找到CUDA安裝包所在的位置,在控制檯輸入

sudo sh ./cuda_10.0.130_410.48_linux.run

而後等待一會後,會出來安裝協議,按住空格鍵快速看完。而後選擇安裝選項:

  • 第一項,選擇accept接受。
  • 第二項,詢問你是否安裝CUDA中帶的顯卡驅動,因爲咱們前面已經安裝了驅動,因此不安裝,選n
  • 剩下的,能選y的選y,能Enter的Enter就好。

裝好後,在~/.bashrc最後 添加環境變量,保存後退出

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

測試一下:

cd /usr/local/cuda/samples/1_Utilities/deviceQuery 
sudo make
./deviceQuery

若最後一行的結果爲Result = PASS,說明安裝成功。

安裝cuDNN

最後,去官網找對應版本的cuDNN,這裏我選擇的是7.5(7.4也是能夠的),下載(這裏須要登錄Nvidia才能夠)

將下載好的壓縮包解壓,通常解壓出來的目錄爲cuda,拷貝到CUDA中

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/

最後

至此,CUDA已安裝完成,裝個gpu版本的tensorflow試試(你也能夠先使用virtualenv建立個虛擬環境再安裝)

pip3 install tensorflow-gpu  # 這裏pip3須要手動下載

裝好後,進入python交互環境,試試Hello World

>>> import tensorflow as tf
>>> hello = tf.constant('Hello World')
>>> sess = tf.Session()
>>> sess.run(hello)
b'Hello World'

執行後,會有日誌打印,若沒有報錯,即證實安裝成功。


參考:

相關文章
相關標籤/搜索