Windows11下如何安装CUDA和Pytorch跑深度学习

一、前言

相信很多小伙伴在按照网上的教程安装cuda和Pytorch跑深度学习的时候,有的成功安装,有的没有成功安装。面对GPU、GPU Driver、CUDA、Pytorch之间的关系总是搞不清楚,这篇文章带你彻底搞清楚它们之间的关系和安装流程。

二、环境配置

1、确认主机是否有独立显卡(GPU)

(1)方法一:

找到设备管理器 --->显示适配器 --->显卡类型 。我的显卡是NVDIA GeForce RTX2060AMD Radeon(TM) Graphics是核显,如果只有核显,显然是使用不了GPU加速的。

(2)方法二:

找到任务管理器 -->GPU 0 或者GPU 1,确保至少有两个显卡。

2、在控制台执行nvidia-smi确认显卡信息

只要经过第一步检测,确保拥有独立显卡,那么这么nvidia-smi这个命令很大可能是能执行成功的。

(1)命令未执行成功

如果命令未执行成功,只能说明你独立显卡没有安装驱动,那你必须到nvidia官网找到对应你显卡型号和主机环境的驱动进行安装。 注意:notebook表示的是笔记本系列。

(2)命令执行成功

如果命令执行成功,接下来,我解释一下两个参数。

Driver Version: GPU驱动版本号

CUDA Version:GPU驱动版本可以支持的最大CUDA driver api的版本号。

接下来,请看图

我们常说的CUDA被分成了两部分,第一部分是CUDA Driver API ,对应上图中的CUDA user-mode driver(libcuda.so) 。第二部分是CUDA Runtime API (我们经常说的CUDA就是这一部分),对应上图中的CUDA Toolkit(runtime,libs,tools)

而这张图中的CUDA Version 就是你安装驱动时,也安装了CUDA Driver API 的版本,因为NVIDIA默认安装的都是当前最新的,所以也意味着这也是GPU驱动版本可以支持的最大CUDA driver api的版本号。如果不确定,可以去查询一下CUDA官网的对应关系。

那么我们常说的,要进行GPU加速,安装的CUDA Toolkit 就是CUDA Runtime API ,安装了CUDA Toolkit 后,我们就可以使用nvcc等命令了。

那么我们常说的,要安装GPU版本的Pytorch是什么呢?

我们使用Pytorch官网推荐的命令安装GPU版本的Pytorch有四五个G 大,那么我们不禁要问:难道只仅仅Python代码就能达到这么大?其实安装GPU版本的Pytorch的时候,是顺带下载了一个CUDA Runtime API

就像这个命令

其实就是安装了一个12.1 版本的CUDA Runtime API 。没错,跟我们安装的CUDA Toolkit 是一个性质的,只不过是没有配置一些像nvcc 这样命令行工具。
总结:其实我们没必要安装CUDA Toolkit

CUDA Driver API 是向后兼容CUDA Runtime API 的,这就可以解释我们的CUDA Driver API 版本是12.2 ,但是我们Pytorch下载的是12.1CUDA Runtime API ,我们仍然可以使用GPU加速。事实上,你安装11.8的也是没问题的,但最好对应。

3、安装与CUDA Version版本相同或者略微低一点的Compute Platform的Pytorch

三、检测是否配置成功

四、总结

1、相关网站

下载NVIDIA显卡驱动

查看显卡驱动与CUDA对应关系

下载cuda toolkit

查看显卡算力

2、GPU、GPU Driver、CUDA Driver API、CUDA Runtime CUDA之间的关系: (1)GPU是显卡,是硬件。

(2)GPU Driver是GPU驱动,只有安装了GPU驱动才可以使用显卡。

(3)安装GPU驱动时,实际上是安装了两个东西:实际的GPU驱动和CUDA Driver API。 (4)CUDA包括两部分:CUDA Driver API和CUDA Runtime API。

(5)CUDA Toolkit安装的就是CUDA Runtime API,跟下载GPU版本的Pytorch里附带的是一个东西。

(6)没必要安装CUDA Toolkit。

(7)CUDA Driver API向下兼容CUDA Runtime API,但最好保持版本对应。

注意:显卡与显卡驱动是对应的,如果不对应,那显卡也是用不了的。不过一般来说带独显的新电脑出厂的时候实际上是安装了对应的显卡驱动。(关于可以不安装CUDA Toolkit这件事,我使用新买的带 NVIDIA GeForce RTX 4060显卡的机械革命笔记本试过,确实没问题。)

相关推荐
u0109147601 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
baidu_340998821 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_678485451 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
qq_342295821 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
TechWayfarer1 小时前
知乎/微博的IP属地显示为什么偶尔错误?用IP归属地查询平台自检工具3步验证
网络·python·网络协议·tcp/ip·网络安全
Greyson12 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
曦樂~2 小时前
【机器学习】概述
人工智能·机器学习
justjinji2 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
DeniuHe2 小时前
机器学习模型中的偏置项(bias / 截距项)到底有什么用?
人工智能·机器学习
小江的记录本2 小时前
【网络安全】《网络安全常见攻击与防御》(附:《六大攻击核心特性横向对比表》)
java·网络·人工智能·后端·python·安全·web安全