這篇博文的主要目的是記錄我在Ubuntu18.04下配置深度學習環境的過程,方便自己以後配置的需求,也供大家參考,減少跳坑
電腦環境說明:
- 系統:Ubuntu18.04 LTS
- 顯卡:RTX 2070 Super
- cuda:10.1
- cudnn:7.6.5
說明:
一些重要的步驟安裝完成後都提供了測試方法,最好進行測試,確認安裝成功,以免在後續的安裝和使用過程中出現問題。
1、依賴項安裝
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install build-essential cmake unzip pkg-config libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev libjpeg-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libopenblas-dev libatlas-base-dev liblapack-dev gfortran libhdf5-serial-dev python3-dev python3-tk python-imaging-tk
2、顯卡驅動安裝
查看自己的顯卡支持的驅動版本:
網站1,這個比較全
網站2:GeForce顯卡
我一般是直接在軟件和更新-》附加驅動中選擇系統推薦的顯卡驅動進行安裝即可:
勾選需要的顯卡驅動版本之後,點擊應用更改後,會自動聯網下載該版本驅動進行安裝。
另一種方法:
如果你想安裝的驅動版本附加驅動中沒有列出,你可以終端自行安裝:
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
查看已經下載的驅動版本:
sudo apt-cache search nvidia-*
進行驅動安裝:
$ sudo apt install nvidia-driver-396
or
$ sudo apt install nvidia-396
然後進行重啓,不重啓直接執行nvidia-smi
可能會報錯:
$ sudo reboot now
方法三:
從驅動網站下載最新版驅動程序文件,一般是.run
格式文件,然後執行:
sudo chmod a+x NVIDIA-*.run
然後最好在非圖形化界面下進行安裝,可以靈活設置安裝選項,避免安裝完後系統重複登錄:
測試
安裝顯卡驅動後一般需要重啓電腦,然後打開一個終端,執行:
nvidia-smi
會出現如下結果:
Mon Apr 6 09:49:06 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.50 Driver Version: 430.50 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 2070 Off | 00000000:01:00.0 On | N/A |
| 0% 51C P8 33W / 175W | 981MiB / 7979MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1273 G /usr/lib/xorg/Xorg 24MiB |
| 0 1350 G /usr/bin/gnome-shell 50MiB |
| 0 1623 G /usr/lib/xorg/Xorg 475MiB |
| 0 1798 G /usr/bin/gnome-shell 256MiB |
| 0 4371 G ...uest-channel-token=17005436335969556960 73MiB |
| 0 8532 G ...quest-channel-token=4090069519898305589 98MiB |
+-----------------------------------------------------------------------------+
就說明成功安裝好顯卡驅動了。
3、cuda安裝
注意下載與GPU驅動版本對應的cuda版本。我的RTX2070需要的是cuda10.0以上的cuda,我下載的是cuda 10.1。
cuda 10.0版本已經不需要更改系統gcc版本爲gcc 6的版本了,直接下載run文件(我一般下載run文件,可以比較靈活的進行配置,當然下載deb文件也是可以的),下載界面都會直接提示安裝方法:
所有版本的cuda下載地址爲:https://developer.nvidia.com/cuda-toolkit-archive
下載完成後執行:
sudo chmod +x cuda_10.1.168_418.67_linux.run
sudo sh cuda_10.1.168_418.67_linux.run
需要等待一段時間,然後出現界面:
輸入accept,回車,出現界面:
這個界面要注意,因爲我們之前已經安裝過顯卡驅動了,因此此處應該取消勾選Driver,方法是使用上下方向鍵選擇Driver,然後回車即可,最後選到Install,進行安裝。
如果沒有取消勾選Driver,則在安裝完成的最後會提示:
Completed with errors. See log at /var/log/cuda-installer.log for details
安裝完成後會提示Successfully。
cuda卸載方法
如果你之前安裝過cuda其他版本,或者安裝cuda最後出現了失敗,在重新安裝之前最好卸載之前安裝的cuda,卸載方法網上有很多,其實cuda自帶了卸載文件,該卸載文件爲/usr/local/cuda/bin/cuda-uninstaller
,所以你只需要cd到該路徑,執行該文件即可卸載乾淨cuda了:
$ cd /usr/local/cuda/bin
$ sudo ./cuda-uninstaller
對於cuda 9.*
版本的cuda,卸載文件是/usr/local/cuad/bin/uninstall_cuda_9.0.pl
,執行方法同上。
卸載完cuda之後,因爲可能還裝了cudnn,所以cuda的文件夾可能還沒刪除乾淨,執行:
sudo rm -rf cuda-9.0
即可,請注意修改爲你的實際cuda版本文件夾名。
修改bashrc文件
打開bashrc文件,末尾加入:
# NVIDIA CUDA Toolkit
export PATH=/usr/local/cuda-10.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64
測試
打開一個終端,輸入:
source ~/.bashrc
nvcc -V
出現結果:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Fri_Feb__8_19:08:17_PST_2019
Cuda compilation tools, release 10.1, V10.1.105
說明安裝成功。
4、cudnn安裝
下載地址:https://developer.nvidia.com/rdp/cudnn-download
需要註冊,可以用QQ登錄。注意下載與自己的cuda版本對應的cudnn版本。
選擇如下文件:
cudnn的安裝其實就是複製一些庫文件和頭文件到cuda中:
下載後解壓縮,然後複製文件即可:
tar -zxf cudnn-10.1-linux-x64-v7.6.5.32.tgz
cd cuda
sudo cp -P lib64/* /usr/local/cuda/lib64/
sudo cp -P include/* /usr/local/cuda/include/
5、Pytorch安裝
參考網址:https://pytorch.org/
安裝命令:
pip3 install torch torchvision
如果你沒有pip3,需要進行安裝:
sudo apt-get install python3-pip
測試
測試之前需要重啓一下電腦,然後執行:
python
import torch
print(torch.cuda.is_available())
返回爲True,則說明Pytorch此時已經能夠調用GPU了。
說明
如果你在使用Pytorch過程中出現類似:
RuntimeError: CUDA error: invalid argument
的錯誤,建議你安裝Pytorch的時候選擇安裝包含cuda編譯的版本,安裝命令如下:
pip install torch==1.3.0+cu100 torchvision==0.4.1+cu100 -f https://download.pytorch.org/whl/torch_stable.html
上述命令就能下載支持cuda10.0的Pytorch,其中cu100表示cuda 10.0。
其他完整版本:
torch版本:
from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2, 0.3.0.post4, 0.3.1, 0.4.0, 0.4.1, 1.0.0, 1.0.1, 1.0.1.post2, 1.1.0, 1.2.0, 1.2.0+cpu, 1.2.0+cu92, 1.3.0, 1.3.0+cpu, 1.3.0+cu100, 1.3.0+cu92, 1.3.1, 1.3.1+cpu, 1.3.1+cu100, 1.3.1+cu92, 1.4.0, 1.4.0+cpu, 1.4.0+cu100, 1.4.0+cu92, 1.5.0, 1.5.0+cpu, 1.5.0+cu101, 1.5.0+cu92
torchvision版本:
from versions: 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.2.0, 0.2.1, 0.2.2, 0.2.2.post2, 0.2.2.post3, 0.3.0, 0.4.0, 0.4.0+cpu, 0.4.0+cu92, 0.4.1, 0.4.1+cpu, 0.4.1+cu100, 0.4.1+cu92, 0.4.2, 0.4.2+cpu, 0.4.2+cu100, 0.4.2+cu92, 0.5.0, 0.5.0+cpu, 0.5.0+cu100, 0.5.0+cu92, 0.6.0, 0.6.0+cpu, 0.6.0+cu101, 0.6.0+cu92
也可以從網站:https://download.pytorch.org/whl/cu100/torch_stable.html
直接下載wheel文件進行pip install
安裝,要注意cp35
表示支持python3.5
版本,版本要對應上纔行。