这篇博文的主要目的是记录我在Ubuntu18.04下配置深度学习环境的过程,方便自己以后配置的需求,也供大家参考,减少跳坑,虽然我主要是在Ubuntu18.04下实践的,但经过在Ubuntu16.04下测试,也基本上没有什么问题,大家可以放心参考。
电脑环境说明:
说明:
一些重要的步骤安装完成后都提供了测试方法,最好进行测试,确认安装成功,以免在后续的安装和使用过程中出现问题。
$ 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
查看自己的显卡支持的驱动版本:
网站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 |
+-----------------------------------------------------------------------------+
就说明成功安装好显卡驱动了。
1、Failed to initialize NVML: Driver/library version mismatch错误
如果执行nvidia-smi
命令出现Failed to initialize NVML: Driver/library version mismatch
错误,一般是显卡驱动加载异常导致,最快的解决方案是重启电脑。
注意下载与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
需要等待一段时间,然后出现界面:
这个界面要注意,因为我们之前已经安装过显卡驱动了,因此此处应该取消勾选Driver,方法是使用上下方向键选择Driver,然后回车即可,最后选到Install,进行安装。
如果没有取消勾选Driver,则在安装完成的最后会提示:
Completed with errors. See log at /var/log/cuda-installer.log for details
安装完成后会提示Successfully。
如果你之前安装过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文件,末尾加入:
# 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
说明安装成功。
下载地址: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/
参考网址: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
版本,版本要对应上才行。