Win10安装CUDA11.4和Torch1.9.0

CUDA介绍及安装说明

CUDA介绍

CUDA是显卡厂商NVIDIA推出的运算平台,常用于一些图形图像处理技术。当然,安装CUDA的 前提 是有一块NVIDIA的独显。如今人工智能、神经网络方向的大火,更是带动了CUDA在并行计算领域的发展,本文安装CUDA平台主要是用于Python语言基于Pytorch框架编写神经网络模型。

至于详细的CUDA介绍可参考百度百科

CUDA安装说明

本文详细介绍的是Windows平台下CUDA的安装教程,之前曾在Linux平台(Ubuntu 18.04系统)上安装过,但估计是显卡驱动等相关的原因并未能够正常使用,现在转战Windows平台,凭借Win10兼容性强的特点上手安装会更加容易。

对于那些安装CUDA用于并行计算的朋友,需要特别说明的一点是一定要注意CUDA的版本与编程语言支持的版本是否相同。本文安装CUDA是用于Python语言中Pytorch框架编程,目前全网搜索Pytorch安装教程CUDA11.4&Torch1.9.0应该是最新的版本,也算是我头铁安装的一次经历吧。

显卡驱动查看及CUDA安装版本号选择

查看本机显卡驱动

直接百度搜索查看显卡驱动的很多教程与后续NVIDIA给出的版本号相差较大,真正查看符合的版本号可参考这篇文章

  • 注:此步骤一定要严格查询到对应的版本号,否则极有可能造成后续的安装失败!!!

查询CUDA支持的显卡驱动版本

需要安装的CUDA版本必须有支持的显卡驱动,NVIDIA官网公布了CUDA支持的显卡驱动版本号,本文截取在榜的支持驱动如下表所示:

CUDA Toolkit Linux x86_64 Driver Version Windows x86_64 Driver Version
CUDA 11.4.0 GA >=470.42.01 >=471.11
CUDA 11.3.1 Update 1 >=465.19.01 >=465.89
CUDA 11.3.0 GA >=465.19.01 >=465.89
CUDA 11.2.2 Update 2 >=460.32.03 >=461.33
CUDA 11.2.1 Update 1 >=460.32.03 >=461.09
CUDA 11.2.0 GA >=460.27.03 >=460.82
CUDA 11.1.1 Update 1 >=455.32 >=456.81
CUDA 11.1 GA >=455.23 >=456.38
CUDA 11.0.3 Update 1 >=450.51.06 >=451.82
CUDA 11.0.2 GA >=450.51.05 >=451.48
CUDA 11.0.1 RC >=450.36.06 >=451.22
CUDA 10.2.89 >=440.33 >=441.22
CUDA 10.1 (10.1.105 general release, and updates) >=418.39 >=418.96
CUDA 10.0.130 >=410.48 >=411.31
CUDA 9.2 (9.2.148 Update 1) >=396.37 >=398.26
CUDA 9.2 (9.2.88) >=396.26 >=397.44
CUDA 9.1 (9.1.85) >=390.46 >=391.29
CUDA 9.0 (9.0.76) >=384.81 >=385.54
CUDA 8.0 (8.0.61 GA2) >=375.26 >=376.51
CUDA 8.0 (8.0.44) >=367.48 >=369.30
CUDA 7.5 (7.5.16) >=352.31 >=353.66
CUDA 7.0 (7.0.28) >=346.46 >=347.62

CUDA及cuDNN安装

官网下载CUDA11.4并安装

首先进入CUDA Toolkit 官网去下载CUDA。本机使用的是Windows 10系统,且系统是64位的,因而在官网上选择对应的安装包并下载(如下图所示)。注意尽量选择local版本,这是安装在本机并使用独显算力的,区别于network在线算力。

11.4版本是目前最新的一个工具包,大小共计2.8G,等待下载方便后续安装。
CUDA 11.4版本

  • 此处额外说明一下,如果当前最新的CUDA版本与你电脑的驱动等不符合,可翻找 previous version 去下载合适的版本

我安装的时候基本都是CUDA默认选项,但网络看其他朋友安装的时候有自定义一些东西,这边给一个借鉴链接

CUDA安装完成后可以运行cmd,输入nvcc -V查看是否安装成功。

CUDA安装成功显示
可以看到,电脑的CUDA 11.4安装成功。

cuDNN下载及安装

cuDNN是用于深度神经网络的GPU加速库,在具体编写神经网络程序时会使用到。CUDA与cuDNN的关系可参见这篇文章

与安装CUDA需选择对应的版本类似,安装cuDNN时也需选择与CUDA对应的版本。

本文给出目前已知CUDA与cuDNN的版本对应关系,具体的安装包及支持情况可查询cuDNN官网。需要特别说明的一点是,cuDNN的下载需登录NVIDIA账户,如若没有可注册一个方便后续安装。

cuDNN CUDA
v8.2.1 11.x, 10.2
v8.2.0 11.x, 10.2
v8.1.1 11.0, 11.1, 11.2, 10.2
v8.1.0 11.0, 11.1,11.2, 10.2
v8.0.5 11.1, 11.0, 10.2, 10.1
v8.0.4 11.0, 10.2, 10.1
v8.0.3 11.0, 10.2, 10.1
v8.0.2 11.0, 10.2, 10.1
v8.0.1 RC2 11.0, 10.2
v7.6.5 10.2, 10.1, 10.0, 9.2, 9.0
v7.6.4 10.1, 10.0, 9.2, 9.0
v7.6.3 10.1, 10.0, 9.2, 9.0
v7.6.2 10.1, 10.0, 9.2, 9.0
v7.6.1 10.1, 10.0, 9.2, 9.0
v7.6.0 10.1, 10.0, 9.2, 9.0
v7.5.1 10.1, 10.0, 9.2, 9.0
v7.5.0 10.1, 10.0, 9.2, 9.0
v7.4.2 10.0, 9.2, 9.0
v7.4.1 10.0, 9.2, 9.0
v7.3.1 10.0, 9.2, 9.0
v7.3.0 10.0, 9.0
v7.2.1 9.2
v7.1.4 9.2, 9.0, 8.0
v7.1.3 9.1, 9.0, 8.0
v7.1.2 9.2, 9.1, 9.0
v7.0.5 9.1, 9.0, 8.0
v7.0.4 9.0
v6.0 8.0, 7.5
v5.1 8.0, 7.5
v5 8.0, 7.5
v4 7.0 and later
v3 7.0 and later
v2 6.5 and later
v1 6.5 R1

本文安装时选择的是最新的cuDNN v8.2.1版本,下载完成后需加以解压,然后将文件按对应的要求放至相应文件夹,具体文件夹的转移方法可参考这篇文章

所需替换的文件夹路径如下:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4

  • 额外说明
    有些博客中提到要安装Visual Studio 2019去运行相关的程序,实测不下载安装VS 2019也是可以的。

安装结果验证

win+R 打开 cmd 窗口,输入如下命令跳转至CUDA的安装目录下:

cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4\extras\demo_suite

然后运行deviceQuery.exe 和 bandwidthTest.exe 来查看GPU的状态,实测的结果如下:
在这里插入图片描述
可以看到,运行deviceQuery.exe显示的结果是PASS
在这里插入图片描述
同理,bandwidthTest.exe 运行也是通过的。

Python机器学习编程环境搭建

如前文所述,搭建CUDA环境是用于Python编程。我选择的框架是Facebook公司推出的Torch框架,如果选择Google公司的TensorFlow框架,需额外关注对应的编程环境,与本文搭建的情况有所不同。

Python 3.9.6安装

因为是新配的电脑,就直接选择了最新版本的Python环境进行安装。在Python安装上并无什么特别值得说明的,直接从官网下载所需要的版本即可,选择Windows系统版本进行安装。方便不太熟悉的朋友安装Python,这边给出一个安装参考链接

Torch安装

在Pytorch安装时也是需要注意版本号对应的,这边给出Pytorch的官网,上面会给出安装的版本建议。

本文选择的仍然是最新的Pytorch 1.9.0 stable版本,选择的安装方式是pip安装。
这边列出下图所示pip命令:

pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

在这里插入图片描述
当然,pip安装需要网络环境比较稳定,有一定的可能出错,我也是尝试了3-4次才最终安装成功。
pip安装torch 1.9.0

[9.20更新] 较老版本CUDA安装说明

前文提及的安装是基于实验室中的台式机安装CUDA的一整套记录,近期在自己的笔记本电脑上也同样安装了一下CUDA。不过我的笔记本电脑购于2017年,用的还是GTX 1050显卡(4G 显存),驱动的话也是出厂原装的驱动398.36。

整个这套配置放到2021年,已经是老掉牙的装备了,所以安装各个版本的时候也是要花费一番功夫的。

CUDA 9.2及cuDNN 7.6.5的安装

根据之前提及的步骤,由本机的驱动去选择对应适配的CUDA版本。398.36的显卡驱动,让我选择了最后能支持该驱动的CUDA 9.2版本(毕竟新版本的CUDA在算力和优化上是有所提升的)。同样的,查找上文给出的表格,选择最后支持CUDA 9.2的cuDNN 7.6.5版本。

当然,安装CUDA和cuDNN的时候并没有遇到什么大的困难,按照前文的步骤一步步操作,最终在cmd窗口可以检验安装是有效的。

PyTorch 1.5.1的安装经过

错误安装Python 3.9版本及无法安装PyTorch

在我自己的笔记本安装Python时,第一反应是选择最新的Python 3.9.7稳定版,一切安装妥当后,便准备开始我的PyTorch安装之路了。由于CUDA版本不高于10.2,在PyTorch官方安装说明首页已经不配拥有一席之地了。我只能在 Previous PyTorch Version 页面寻找我所需要的版本。老样子,我选择的CUDA 9.2所能支持的最高版本torch 1.7.1,具体的pip安装命令如下:

# CUDA 9.2
pip install torch==1.7.1+cu92 torchvision==0.8.2+cu92 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

运行该命令,直接显示:

ERROR: No matching distribution found for torch==1.7.1 cu92

百度一波,发现可能是CUDA版本太低,不支持当前PyTorch版本。那咋办?降PyTorch版本呗。但当我一直降到PyTorch 1.5.1版本时,仍旧无法安装。我心想:这不对啊,网上给出的帖子就是CUDA 9.2和PyTorch 1.5.1安装成功的,这肯定是其他安装方面的原因。

PyCharm错误安装PyTorch

既然在cmd窗口pip安装出错,那我试试其他方法呗。由于我习惯在PyCharm中编写Python代码,所以就尝试了一下能否在PyCharm中成功安装。第一次安装没有选择具体的Torch版本,默认最新版就安装的Pytorch 1.9.0版本,但居然显示安装成功了!!!

我立马尝试能否正常使用显卡算力:

import torch
torch.cuda.is_available()

输出:

False

但想想也正常,毕竟我安装的是最新Pytorch 1.9.0版本,官方都说这个版本不支持CUDA 9.2,这能正常调用有鬼嘞。卸载,重新安装PyTorch 1.7.1版本,结果仍旧是同样的结果。

其实PyCharm中为了Python的适配,只会安装CPU版本的PyTorch,因而无论如何都是无法调用显卡算力的。所以手头有N卡的铁汁,千万不要图方便用PyCharm默认方法的安装PyTorch。

Python 3.8.11 & Torch 1.5.1成功安装

一通分析下来,最终还是版本下载错误的问题。幸好在网上看到了这份帖子:解决could not find a version that satisfies the requirement torch等类似问题

帖子里面分析的很对,我们使用pip命令最终也是为了下载对应的whl。那在pip无法连接官网的情况下,不如直接去官网下载好whl文件,再直接安装。

这个早期版本的显卡对应的PyTorch需要额外花力气在官网找到对应的支持网址,这边给出一个CUDA 9.2对应的各版本torch和torchvision的链接:https://download.pytorch.org/whl/cu92/torch_stable.html

下载的就是下面这个Win平台支持的PyTorch版本:
在这里插入图片描述
这边还是有点小坑的,我额外说明一下。
Windows平台必须使用后缀为 -win_amd64.whl 的文件。吐槽一波,这样式的文件确实少!

当然,还有一点就是这边cp38要求我们本机上的版本使用Python 3.8版本。所以我之前预装的Python 3.9版本自然而然的就废了,只能选择卸载重装。

一切安装妥当后,PyCharm中包管理页面会显示:
在这里插入图片描述
其中后缀+cu92说明该版本号是基于CUDA 9.2安装的,再运行上面的算力检测程序就能显示True啦。

  • 额外说明
    千万不要升级torch和torchvision版本,否则你的显卡算力又会无法使用。

猜你喜欢

转载自blog.csdn.net/alan1ly/article/details/118513100