Ubuntu20.04+cuda11.2+cudnn8.1+Anaconda3安裝tensorflow-GPU環(huán)境,親測可用

(1)安裝nvidia顯卡驅動

注意Ubuntu20.04和Ubuntu16.04版本的安裝方法不同,
安裝驅動前一定要更新軟件列表和安裝必要軟件、依賴(必須)

sudo apt-get update   #更新軟件列表
 
sudo apt-get install g++
 
sudo apt-get install gcc
 
sudo apt-get install make

查看GPU型號

lspci | grep -i nvidia

官網下載對應驅動(必須)
https://www.nvidia.cn/Download/index.aspx?lang=cn
卸載原有驅動

sudo apt-get remove --purge nvidia*

禁用nouveau(nouveau是通用的驅動程序)(必須)

sudo chmod 666 /etc/modprobe.d/blacklist.conf
sudo gedit /etc/modprobe.d/blacklist.conf

在最后一行下面添加以下幾行語句,保存退出
Ubuntu20.04版本

blacklist nouveau
 
options nouveau modeset=0

Ubuntu16.04版本

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb

更新文件

sudo update-initramfs -u

重啟(必須重啟)

reboot

驗證nouveau是否已禁用

lsmod | grep nouveau

沒有信息顯示,說明nouveau已被禁用,接下來可以安裝nvidia的顯卡驅動。
安裝lightdm,lightdm是顯示管理器,主要管理登錄界面

sudo apt-get install lightdm

按Ctrl + Alt + F1~F6中一個進入黑漆漆的文本界面tty,我的是聯(lián)想thinkpad,使用的是Ctrl + Alt +F6或者用命令sudo telinit 3

sudo service lightdm stop                      //關掉圖形界面
sudo apt-get remove nvidia-*     //卸載原有驅動
sudo chmod 755 NVIDIA-Linux-x86_64-525.85.05.run  //獲取權限
sudo ./NVIDIA-Linux-x86_64-525.85.05.run -no-nouveau-check -no-x-check -no-opengl-files     //安裝驅動
/*-no-x-check 安裝驅動時關閉X服務,
 -no-nouveau 安裝驅動時禁用nouveau
 -no-opengl-files 只安裝驅動,不安裝opengl文件。
 根據其他答主經驗,最后一個參數(shù)一定要加,否則安裝完驅動會出現(xiàn)桌面閃退、循環(huán)登錄等問題。
*/
執(zhí)行這一步會收到很多提示(注意:白色為選中,不是紅色):
問題1:The distribution-provided pre-install script failed! Are you sure you want to continue?
Continue installation   Abort installation (選擇Coninue)

問題2:Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later.
Yes   No (選 No)

問題3:Install NVIDIA’s 32-bit compatibility libraries?
Yes   No (選 No)

問題4: Installation of the kernel module for the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version470.94) is now complete.
OK

問題5: Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
Yes    No (選 Yes)

掛載Nvidia驅動:

modprobe nvidia

退出文本界面到圖形界面,輸入sudo telinit 5或者Ctrl + Alt + F1(我的是聯(lián)想thinkpad,F(xiàn)1和F12都試一下)
切換到圖形界面:

sudo service lightdm start

檢查驅動是否安裝成功:

nvidia-smi

出現(xiàn)以下界面,則安裝成功,可以看到此顯卡驅動支持的最高CUDA版本是12.0。


(2)安裝cuda

cuda版本不超過nvidia驅動查詢到的cuda版本
Ubuntu 20.04默認g++9版本太高,會導致CUDA無法安裝,因此要先降低g++版本到7,將下列代碼逐個執(zhí)行

sudo apt-get install gcc-7 g++-7
 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1
 
sudo update-alternatives --display gcc     //查看默認版本
 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 1
 
sudo update-alternatives --display g++

到nvidia官網下載cuda,網址為:https://developer.nvidia.com/cuda-toolkit-archive
我下載的是11.2

sudo sh cuda_11.2.0_460.27.04_linux.run

因為前面步驟已經安裝了Driver
我們選擇continue即可,然后出現(xiàn)下面這樣的界面,enter一下把Driver取消



安裝完成后的界面如下:



修改環(huán)境變量
sudo gedit ~/.bashrc
或
vim ~/.bashrc
export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

更新環(huán)境變量

source ~/.bashrc

檢查是否安裝成功
nvcc -V

#編譯并測試設備 deviceQuery:
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

#編譯并測試帶寬 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest

如果這兩個測試的最后結果都是Result = PASS,說明CUDA安裝成功啦。

(3)安裝cudnn

下載和cuda相匹配的cudnn版本,我選用的是cudnn8.1,網址為:https://developer.nvidia.com/cudnn
解壓tgz包

tar -xvzf cudnn-11.2-linux-x64-v8.1.0.77.tgz

對解壓后文件夾中的文件進行拷貝

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

修改權限

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

查看cuDNN版本
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
如果輸出如下,則表示安裝成功:


(4)安裝Anaconda3

進入Anaconda3下載目錄,運行下面命令安裝

bash Anaconda3-2022.10-Linux-x86_64.sh 

期間有ENTER的地方可以直接回車,遇到MORE信息,可以摁Q鍵跳過,遇到需要輸入yes|no的地方輸入yes即可。
考慮到其他用戶的權限問題,最好不要安裝在/root目錄下,修改安裝路徑為/usr/local/anaconda3


輸入 yes 來確認使用 conda init 來啟動
啟動已經修改的環(huán)境變量

source ~/.bashrc

命令前出現(xiàn)了base
查看版本

conda --version

conda 配置國內鏡像源

添加清華鏡像源

conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge 
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

設置搜索時顯示通道地址

conda config --set show_channel_urls yes

恢復默認源

conda config --remove-key channels

顯示鏡像源

conda config --show-sources

刪除鏡像源

conda config --remove channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda 創(chuàng)建虛擬環(huán)境

conda create -n py39 python=3.9

輸入 y 并回車后,開始下載并創(chuàng)建
進入虛擬環(huán)境

conda activate py39

退出當前環(huán)境

conda deactivate

查看當前環(huán)境

conda env list 

刪除環(huán)境
conda remove -n [your_env_name(虛擬環(huán)境名稱)] --all

conda remove -n py39 --all

安裝ipython

conda install ipython

(5)安裝tensorflow-GPU

pip install tensorflow-gpu==2.6.0 -i https://pypi.mirrors.ustc.edu.cn/simple/

在虛擬python環(huán)境下測試tensorflow-GPU是否安裝成功

from tensorflow.python.client import device_lib
device_lib.list_local_devices()
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容