2022年4月21日發(fā)布的最新版本 Ubuntu 22.04 LTS 安裝 CUDA 和 cuDNN 踩坑記錄 !!!

1. 從 Ubuntu 20.04 LTS 升級至 Ubuntu 22.04 LTS解決了哪些問題?
解決了部分較新機型無WiFi的問題:Ubuntu 20.04 LTS的默認內(nèi)核發(fā)布于四年前,自然識別不了現(xiàn)在市面上流通的無線網(wǎng)卡,比如今年的聯(lián)想拯救者2022 Y9000P就使用Intel AX211無線網(wǎng)卡,千辛萬苦裝好了Ubuntu 20.04,缺發(fā)現(xiàn)沒有無線網(wǎng)用(插網(wǎng)線可以,但沒辦法帶出宿舍做實驗,到圖書館或?qū)嶒炇已b逼),現(xiàn)在只需要重新安裝Ubuntu 22.04 LTS,開機即有無線網(wǎng),配合手機熱點,在校園各處全覆蓋裝逼。
解決了Nvidia獨立顯卡驅(qū)動不適配的問題:在Ubuntu 20.04上,系統(tǒng)推薦安裝的Nvidia獨立顯卡驅(qū)動版本是 nvidia-driver-470,但CUDA 11.6建議的版本是 nvidia-driver-510,雖然勉強能用,但是版本總是不斷更新,想有最好的機器學(xué)習體驗,就需要保證各組件的版本匹配,并較新。如果在安裝Ubuntu 22.04時勾選允許第三方驅(qū)動,你會驚喜得發(fā)現(xiàn),系統(tǒng)安裝后,開機就已經(jīng)裝好了最新的 nvidia-driver-510,也能直接在終端中直接運行“nvidia-smi"命令(該命令用來簡單判斷Nvidia獨立顯卡驅(qū)動是否正常工作)。
仍然支持最新版本的CUDA和cuDNN:我測試時的版本如下,



注意上圖倒數(shù)第三行的 5.15.0-27-generic?內(nèi)核版本號,這的確是Ubuntu 22.04 LTS的默認內(nèi)核版本,這證明,最新版本的Ubuntu是可以使用如下版本號進行機器學(xué)習的環(huán)境配置的:
Ubuntu 22.04 LTS 內(nèi)核版本號:Linux y9000p 5.15.0-27-generic #28-Ubuntu SMP Thu Apr 14 04:55:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
nvidia獨立顯卡驅(qū)動版本號:510.60.02
CUDA版本號:cuda-repo-ubuntu2004-11-6-local_11.6.2-510.47.03-1_amd64
cuDNN版本號:cudnn-local-repo-ubuntu2004-8.4.0.27_1.0-1_amd64
2. 新版本 Ubuntu 22.04?LTS 安裝及機器學(xué)習環(huán)境搭建。
安裝系統(tǒng),參照全流程視頻?https://www.bilibili.com/video/BV15F411s7vi?share_source=copy_web流程,該流程安裝的是次新版本Ubuntu 20.04 LTS,但系統(tǒng)的安裝流程完全一致,UP已實操驗證。如果在安裝系統(tǒng)時 勾選“安裝第三方驅(qū)動“,開機自帶?510.60.02 版本的Nvidia獨立顯卡驅(qū)動。
安裝 Nvidia獨立顯卡驅(qū)動,參照幫助文檔?https://rust-fedora-57b.notion.site/Environment-3b05d5afa0f94c0a808cc31294b8efcc
安裝 CUDA,參照全流程視頻 https://www.bilibili.com/video/BV1Rq4y1h7jK?share_source=copy_web,這里注意,新版本的Ubuntu 22.04 需要安裝?liburcu6軟件包,先在“附加驅(qū)動的其他軟件?選項中添加源 "deb http://ftp.cn.debian.org/debian bullseye main" :

添加后點擊右下角"關(guān)閉",點擊彈出對話框的“關(guān)閉”:

在終端中使用在終端中使用?“sudo apt update"?應(yīng)用更新后的源,會提示缺少GPK密鑰序列,一共四條,將缺少密鑰添加到該命令的末尾,一共添加4個(分4次去運行,每復(fù)制粘貼一個密鑰,回車導(dǎo)入一次),“sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com [提示缺少的4條GPK]"命令,
再次在終端中使用 “sudo apt update" 應(yīng)用更新后的源,再使用 “sudo apt install liburcu6" 即可安裝包。根據(jù)幫助文檔即可完成CUDA的安裝和驗證。
4. 安裝cuDNN,根據(jù)幫助文檔安裝,但使用 "sudo make" 編譯驗證代碼時同樣需要添加源 “deb http://ftp.cn.debian.org/debian sid main“,需導(dǎo)入的密鑰和安裝的包名都在幫助文檔中。
5. 當三個測試(CUDA的deviceQuery和bandwidthTest測試,cuDNN的mnistCUDNN測試)均通過后,取消之前添加的兩個鏡像源,只需要把這兩個Debian開頭的勾掉,再點右下角的關(guān)閉,點彈出框的關(guān)閉即可。

打開終端使用"sudo apt update”,應(yīng)用取消這兩個鏡像的后的源。如果在添加源之前顯示“所有軟件包均為最新”,在取消源后仍顯示該字樣,則沒有問題。
6. 配置機器學(xué)習環(huán)境,根據(jù)擴展文檔 https://rust-fedora-57b.notion.site/Anaconda-b4d288c6265d4e5fa84dd0020af59680 即可配置好機器學(xué)習的基本環(huán)境。找一段機器學(xué)習的代碼,并確保你的環(huán)境中以及安裝了代碼中涉及到的包,缺少包使用 pip命令安裝即可,我們來測試一下:


至此,4月21日才發(fā)布的Ubuntu 22.04 LTS 配置 截至4月29日最新版本的CUDA及cuDNN并成功進行機器學(xué)習訓(xùn)練?已被驗證!
3. 結(jié)語
本人是大三留級生,舍友今年已考研上岸?,F(xiàn)在頂著學(xué)校破事的壓力折騰一些事情,像配置這個環(huán)境是為了學(xué)校的本創(chuàng),五人一組,全都我做。我可能做不出來,但是堅持去折騰折騰,我覺得折騰并沒有錯,像Linux還有Nvidia都是別人的,我時常感嘆,別人能創(chuàng)造出這樣令人驚艷覺得酷的產(chǎn)品,技術(shù),理念,而我總要為了一些死規(guī)矩去簽到,背題,考試。學(xué)校的實驗報告永遠實際做出來的東西重要,論文永遠是格式比探索的過程更關(guān)鍵,我想說,這樣肯定是錯的,但是我們都不能改變什么,因為我們在體制里,我們要遵守游戲規(guī)則。或許和科班比起來,我的折騰顯得效率極其低下,我大概是兩年卡就關(guān)注到了“稚暉君”這樣的人物,那時他給我的很大信心,然而兩年后,在學(xué)校考試,自己雜亂想法和打游戲之間,我仍然沒能折騰出什么像樣的東西,現(xiàn)在的考研也是新形勢下不得不走的路。然而我還是用一個上午寫了這篇文章,不管我有多么失落或者煩悶,我希望正在折騰而不循規(guī)蹈矩的人再多堅持一天,一次嘗試,我和你們是同一陣營的,我們都喜歡更酷的技術(shù)!
