Linux 搭建深度學習環境教程
Notes:
⭐ 開門見山:使用 Anaconda 直接搞定 Linux Nvidia 驅動這個千年難題 ⭐
重點: 關於這個問題,今天我來總結一篇專治頭疼的葯方:只需要安裝 Anaconda ,使用 conda 安裝 Pytorch 或者 Tensorflow-gpu 即可。 conda 會自動幫助我們安裝好幾乎所有必需的驅動,可謂是一鍵式安裝,簡直是我等“菜雞”們的福音!!!
I Love Anaconda ❤️❤️❤️
1. Linux 發行版選擇與啟動盤制作
- Ubuntu 官網 (社區強大,不怕找不到問題的解決方案)
- Deepin 官網 (PS.看到國產系統的希望,美到令人窒息 ❤️)
- Linux 各大發行版世界排名 總有一款適合你😄 https://distrowatch.com/dwres.php?resource=popularity
啟動盤制作
- Rufus : 系統盤制作神器,下載好系統軟件到本地之后,運行 rufus.exe ,選擇好系統軟件即可制作好系統啟動 U 盤, 簡單到沒有套路。
2. 更換國內源
如果發現 pip 或 conda install 安裝速度過慢,可以更換國內源。
參考:《conda安裝Pytorch下載過慢解決辦法(7月23日更新ubuntu下pytorch1.1安裝方法)》
Deepin:
$ sudo vim /etc/apt/sources.list
將 Deepin 官方源改成:
## Generated by deepin-installer
## 將官方源禁用
## deb [by-hash=force] http://packages.deepin.com/deepin panda main contrib non-free
## 設置清華大學開源軟件鏡像站
deb [by-hash=force] https://mirrors.tuna.tsinghua.edu.cn/deepin panda main contrib non-free
## 如果設置阿里雲,則將地址設置為
deb [by-hash=force] https://mirrors.aliyun.com/deepin/ panda main contrib non-free
#deb-src http://packages.deepin.com/deepin panda main contrib non-free
- pip 更換國內源
1)臨時更換
$ pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple
- conda 更換國內源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
3. Linux 顯卡驅動安裝與驗證
Ubuntu:
step 1 : 首先,檢測你的NVIDIA圖形卡和推薦的驅動程序的模型。執行命令:
$ ubuntu-drivers devices
輸出結果為:
== /sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0 ==
modalias : pci:v000010DEd00001180sv00001458sd0000353Cbc03sc00i00
vendor : NVIDIA Corporation
model : GK104 [GeForce GTX 1050 Ti]
driver : nvidia-430 - distro non-free
driver : nvidia-440 - distro non-free recommended
driver : nvidia-390 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
== cpu-microcode.py ==
driver : intel-microcode - distro free
從中可以看到,這里有一個設備是 GTX 1050 Ti ,對應的驅動是 NVIDIA - 430, 440, 390 ,而推薦是安裝 440 版本的驅動。\
Deepin:
- 打開啟動器,找到顯卡驅動管理器(自帶,沒有的話在Deepin應用商店內安裝)。
- 選擇 使用閉源驅動,在Deepin系統提示下,經過若干次數的重啟系統,即可完成閉源驅動的切換。查看系統默認的閉源驅動版本號是否滿足需求,如果驅動版本太低,需要更新驅動。
- 更新 Nvidia 閉源驅動:Nvidia 官網選擇對應顯卡的驅動,下載 Nvidia-Linux-x86_64-440.36.run (此版本號要與Deepin閉源驅動版本一致或兼容)文件到本地,高版本會覆蓋低版本的驅動,因此不用卸載以前的低版本驅動。
- 在 Deepin 桌面按下 Ctrl + Alt + F4 進入控制台界面(黑命令行模式),輸入用戶名和密碼登錄,接下來是至關重要的一步:關閉圖形界面
sudo service lightdm stop
或者
sudo telinit 3
cd 進入 Nvidia-Linux-x86_64-440.36.run 文件所在的路徑,給安裝包加權限:
sudo chmod a+x NVIDIA-Linux-x86_64-440.36.run
sudo bash ./NVIDIA-Linux-x86_64-440.36.run
⭐⭐⭐⭐根據系統提示進行操作,重新安裝 440.36 版本的驅動, 不出意外的話就能順利更新閉源驅動,但是這一步通常會遇到系統報錯,由於沒有及時記錄報錯信息,此處僅僅描述一種我曾遇到的報錯,大意是:不能同時使用兩套安裝 NVIDIA-Linux-x86_64-440.36.run 的方式,需要手動刪除一種。解決方案是:cd 進入系統報錯提示的路徑中,rm 刪除掉其中一種安裝 run 的文件,回到 NVIDIA-Linux-x86_64-440.36.run 所在位置重新運行 sudo bash ./NVIDIA-Linux-x86_64-440.36.run 即可。正是這一步操作,解決了我無數次都裝不上 Nvidia 驅動的難題,此處暫時只遇到這一種異常,解決之后就可以順暢更新 Nvidia 驅動。⭐⭐⭐⭐
step 2 : 安裝驅動
Ubuntu:
你可以選擇,安裝所有推薦的驅動,如下命令
$ sudo ubuntu-drivers autoinstall
你也可以選擇,只安裝其中一個驅動,命令如下
$ sudo apt install nvidia-440
OK 驅動安裝完成,重新啟動,查看系統配置 ---> 詳細信息 ---> 關於 ,圖形處理是否對應於自己的獨立顯卡。
參考:《真實機下 ubuntu 18.04 安裝GPU +CUDA+cuDNN 以及其版本選擇(親測非常實用)》
Deepin :
Deepin 可以通過系統自帶的顯卡驅動管理器查看
通過以下鏈接,在 Nvidia 官網上查看對應 Linux 系統驅動型號的 cudatoolkit 型號
https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html
4. 通過 Anaconda 安裝 Pytorch ,Tensorflow-gpu
安裝 Anaconda :
bash Anaconda3-2019.10-Linux-x86_64.sh
執行完,檢驗 Anaconda 是否安裝成功:
conda --version
如果發現 Ubuntu 提示沒有 conda 命令,則需要進一步配置 Anaconda 的路徑:
$ export PATH=~/anaconda3/bin:$PATH
$ source ~/.bashrc
再次測試!
創建 Anaconda 虛擬環境
關於虛擬環境參考:《Anaconda環境安裝GPU版本Pytorch》
Anaconda 成功安裝后,可以使用 conda 創建虛擬工作環境:
$ conda create -n your_env_name python=3.7
激活虛擬環境:
$ conda activate your_env_name
虛擬環境中也可以添加 conda 國內源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
使用 conda 安裝 pytorch,首先需要在 PyTorch 官網查看適合系統的版本號:
復制以上命令在本地運行:
$ conda install pytorch torchvision cudatoolkit=10.1 -c pytorch
Note: 由於一開始更換了國內源,此時使用 conda 安裝速度會非常快,如果異常緩慢需要檢查是否成功更換源!
$ conda install tensorflow-gpu
或
$ conda install pytorch torchvision cudatoolkit=10.0
Tensorflow-gpu 或 Pytorch 成功安裝后,可以進行以下的測試:
5. GPU 環境測試
>>> import torch
>>> print(torch.cuda.is_available())
True
或者
>>> import tensorflow as tf
>>> print(tf.test.is_gpu_available())
True
Congratulation !!!
torch.cuda.is_available() = False 的解決辦法:
- 去 NVIDIA 官網查看 gcc 版本號是否匹配,重新安裝對應的 gcc ,g++ 之后重新使用 conda 安裝 PyTorch