(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()
