700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Ubuntu18.04 RTX2070 显卡驱动 Cuda cudnn和Pytorch深度学习环境配置——亲测可用

Ubuntu18.04 RTX2070 显卡驱动 Cuda cudnn和Pytorch深度学习环境配置——亲测可用

时间:2023-03-15 15:04:50

相关推荐

Ubuntu18.04 RTX2070 显卡驱动 Cuda cudnn和Pytorch深度学习环境配置——亲测可用

这篇博文的主要目的是记录我在Ubuntu18.04下配置深度学习环境的过程,方便自己以后配置的需求,也供大家参考,减少跳坑,虽然我主要是在Ubuntu18.04下实践的,但经过在Ubuntu16.04下测试,也基本上没有什么问题,大家可以放心参考。

电脑环境说明:

系统:Ubuntu18.04 LTS显卡:RTX 2070 Supercuda:10.1cudnn:7.6.5

说明:

一些重要的步骤安装完成后都提供了测试方法,最好进行测试,确认安装成功,以免在后续的安装和使用过程中出现问题。

文章目录

1、依赖项安装2、显卡驱动安装测试问题解决3、cuda安装cuda卸载方法修改bashrc文件测试4、cudnn安装5、Pytorch安装测试说明参考

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-396or$ 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 +-----------------------------------------------------------------------------+| 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||=============================================================================|| 01273G /usr/lib/xorg/Xorg 24MiB || 01350G /usr/bin/gnome-shell50MiB || 01623G /usr/lib/xorg/Xorg 475MiB || 01798G /usr/bin/gnome-shell256MiB || 04371G ...uest-channel-token=17005436335969556960 73MiB || 08532G ...quest-channel-token=4090069519898305589 98MiB |+-----------------------------------------------------------------------------+

就说明成功安装好显卡驱动了。

问题解决

1、Failed to initialize NVML: Driver/library version mismatch错误

如果执行nvidia-smi命令出现Failed to initialize NVML: Driver/library version mismatch错误,一般是显卡驱动加载异常导致,最快的解决方案是重启电脑

3、cuda安装

注意下载与GPU驱动版本对应的cuda版本。我的RTX2070需要的是cuda10.0以上的cuda,我下载的是cuda 10.1。

cuda 10.0版本已经不需要更改系统gcc版本为gcc 6的版本了,直接下载run文件(我一般下载run文件,可以比较灵活的进行配置,当然下载deb文件也是可以的),下载界面都会直接提示安装方法:

所有版本的cuda下载地址为:/cuda-toolkit-archive

下载完成后执行:

sudo chmod +x cuda_10.1.168_418.67_linux.runsudo 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 10.0以前的版本的cuda,卸载文件是/usr/local/cuad/bin/uninstall_cuda_*.*.pl,执行方法同上。

sudo ./uninstall_cuda_*.*.pl

卸载完cuda之后,因为可能还装了cudnn,所以cuda的文件夹可能还没删除干净,执行:

sudo rm -rf cuda-9.0

即可,请注意修改为你的实际cuda版本文件夹名。

修改bashrc文件

打开bashrc文件,末尾加入:

# NVIDIA CUDA Toolkitexport PATH=/usr/local/cuda-10.1/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64

测试

打开一个终端,输入:

source ~/.bashrcnvcc -V

出现结果:

nvcc: NVIDIA (R) Cuda compiler driverCopyright (c) - NVIDIA CorporationBuilt on Fri_Feb__8_19:08:17_PST_Cuda compilation tools, release 10.1, V10.1.105

说明安装成功。

4、cudnn安装

下载地址:/rdp/cudnn-download

需要注册,可以用QQ登录。注意下载与自己的cuda版本对应的cudnn版本。

选择如下文件:

cudnn的安装其实就是复制一些库文件和头文件到cuda中:

下载后解压缩,然后复制文件即可:

tar -zxf cudnn-10.1-linux-x64-v7.6.5.32.tgzcd cudasudo cp -P lib64/* /usr/local/cuda/lib64/sudo cp -P include/* /usr/local/cuda/include/

5、Pytorch安装

参考网址:/

安装命令:

pip3 install torch torchvision

如果你没有pip3,需要进行安装:

sudo apt-get install python3-pip

测试

测试之前需要重启一下电脑,然后执行:

pythonimport torchprint(torch.cuda.is_available())

或者直接执行:

python -c '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 /whl/torch_stable.html或(如果你用到代理服务器的话)pip install torch==1.5.0+cu101 torchvision==0.6.0+cu101 -f /whl/torch_stable.html --trusted-host --trusted-host

上述命令就能下载支持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

也可以从网站:/whl/cu100/torch_stable.html

直接下载wheel文件进行pip install安装,要注意cp35表示支持python3.5版本,版本要对应上才行。

参考

//01/30/ubuntu-18-04-install-tensorflow-and-keras-for-deep-learning//qq_41931821/article/details/89239388

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。