Windows系统下CUDA、cuDNN与PyTorch的更新与安装全攻略
文章目录
- Windows系统下CUDA、cuDNN与PyTorch的更新与安装全攻略
- 一、引言
- 二、CUDA、cuDNN与PyTorch-GPU介绍
- 三、安装准备
- 1. 查看支持的CUDA版本
- 2. 查看已安装的CUDA版本
- 3. 查看支持的PyTorch版本
- 四、卸载旧版CUDA
- 五、下载并安装新版CUDA
- 六、下载并安装cuDNN
- 七、安装pytorch并验证PyTorch与CUDA的兼容性
- 八、安装过程中的一些问题
- Nsight Visual Studio Edition 安装失败
- 九、后记
一、引言
随着人工智能技术的不断进步,深度学习已经成为当今科技领域的重要支柱,尤其在图像识别、自然语言处理等多个领域展现了其强大的能力。为了充分发挥深度学习的潜力,高效的计算能力显得尤为重要,而图形处理单元(GPU)正是提供这一能力的关键硬件。NVIDIA的CUDA技术,作为利用GPU进行通用计算的先锋,为深度学习的发展注入了强大的动力。而与之相辅相成的cuDNN库,则为深度学习应用提供了优化支持。PyTorch,作为当今热门的深度学习框架,其与CUDA和cuDNN的无缝集成,更是让深度学习模型的训练和推理如虎添翼。
然而,对于许多初学者和研究者来说,如何正确安装并配置这些工具,以便能够高效地进行深度学习工作,可能是一个不小的挑战。本文将深入探讨CUDA、cuDNN与PyTorch之间的关系,并为读者提供一份详尽的安装与配置指南。我们的目标是帮助读者建立起一个稳定、高效的深度学习环境,从而能够专注于模型的开发与创新,无需在环境配置上花费过多精力。通过本文,读者将能够更好地理解这些工具如何协同工作,以及如何将它们集成到自己的深度学习项目中。
二、CUDA、cuDNN与PyTorch-GPU介绍
1.CUDA (Compute Unified Device Architecture):
CUDA是NVIDIA推出的一个并行计算平台和编程模型,它允许开发者使用NVIDIA的GPU进行高性能计算。CUDA提供了一套丰富的API,使得开发者能够轻松地编写在GPU上运行的并行代码,从而显著提高计算性能。
官网:https://developer.nvidia.com/
2.CUDA Toolkit:
这是一个包含CUDA编译器、调试器、性能分析工具等的开发套件,用于帮助开发者构建、优化和调试CUDA应用程序。CUDA Toolkit是开发CUDA程序的基础。
3.cuDNN (CUDA Deep Neural Network library):
cuDNN是NVIDIA专门为深度神经网络设计的一套加速库。它基于CUDA,针对深度学习算法中的常见操作(如卷积、池化、归一化等)进行了高度优化,能够显著提升深度学习应用的运行效率。
4.PyTorch-GPU:
PyTorch是一个流行的深度学习框架,支持动态计算图,使得深度学习模型的构建和训练变得更加灵活和高效。PyTorch-GPU版本则是专为GPU加速设计的,能够充分利用CUDA和cuDNN的优势,提高深度学习模型的训练速度和性能。
官网:https://pytorch.org/
简单来说,CUDA为GPU并行计算提供了基础平台和编程接口;CUDA Toolkit为开发者提供了开发CUDA程序所需的工具和资源;cuDNN针对深度学习应用进行了专门优化,提高了运行效率;而PyTorch-GPU则是一个基于CUDA和cuDNN的深度学习框架,使得深度学习应用的开发变得更加简单和高效。
在安装的过程中我还发现了 nvidia nsight system 和 nvidia nsight compute 这两个软件,有兴趣的请阅读 CUDA编程 - Nsight system & Nsight compute 的安装和使用 - 学习记录
三、安装准备
下面表格中是我的系统操作环境版本
配置项 | 详细信息 |
---|---|
操作系统 | Windows10(64bit) |
Python版本 | 3.9.13 |
GPU | NVIDIA GeForce GTX 1650 |
显卡驱动版本 (Driver Version) | 555.99 |
CUDA版本 (CUDA Version) | 12.1.1 |
包管理工具 | pip |
PyTorch版本 | 2.3.0 |
1. 查看支持的CUDA版本
-
通过NVIDIA控制面板查看:右键桌面打开NVIDIA控制面板,依次点击“
帮助”-“系统信息”-“组件
”。
-
通过
cmd
打开控制台,输入命令nvidia-smi查看:在命令提示符(cmd)中输入nvidia-smi
。
这两种方法效果一样,查看到的都是本机支持的最高版本的CUDA,它是可以向下兼容的。一般我们不需要安装最高版本,而是通过下面的结合 pytoch 版本来选择。我的系统最高支持12.3版本的驱动。
2. 查看已安装的CUDA版本
在命令提示符中输入nvcc -V
。
可以看到我现在安装的是11.6版本的,现在我想将其更新为12.1。
3. 查看支持的PyTorch版本
访问PyTorch官网(https://pytorch.org/),根据系统配置选择合适的PyTorch版本,并注意其对应的CUDA版本。
从上图中可以看到,目前官方支持的最新稳定版本为 pytorch2.3.0 + CUDA12.1。而我们上面查看到的本地实际上可以支持到 12.3,但是 pytorch 只支持到 12.1,所以我们 CUDA 只安装到 12.1 的版本就够了.
四、卸载旧版CUDA
1.控制面板卸载
进入“控制面板”或“设置”-“应用”,卸载所有含CUDA字样 的程序。
2.删除环境变量
“此电脑-右键-属性-高级系统设置”进入环境变量的 path 中,删除旧版本CUDA的相关路径。
3.删除残留文件
进入C:\Program Files\
,删除旧版本的CUDA文件夹。
上面3个文件夹可以全部删除也可以只删除其子文件夹,因为后面更新的也是安装到该路径。
五、下载并安装新版CUDA
1. 进入NVIDIA官网(https://www.nvidia.cn/Download/index.aspx?lang=cn)下载最新的驱动程序进行更新
点击搜索后点击下载即可。下载完成后安装至“C:\Program Files\NVIDIA\NVIDIA Display Driver”路径下面。
安装完成之后再次输入nvidia-smi
,可以看到我们的 Driver Version和CUDA Version: 12.5发生了变化,现在CUDA支持的最高版本为12.5。
奇怪的是安装完成之后“C:\Program Files\NVIDIA\”下面并没有“NVIDIA Display Driver”这个文件夹通过电脑管家查看安装位置位于
“C:\Program Files\WindowsApps\NVIDIACorp.NVIDIAControlPanel_8.1.966.0_x64__56jybvy8sckqj”路径下面。
不过无伤大雅,能正常使用即可。
2.下载CUDA安装包
访问 NVIDIA官网(https://developer.nvidia.com/cuda-toolkit-archive),选择与PyTorch版本兼容的CUDA版本进行下载。下面两个应该都支持,这边我下载的是12.1.1
接着根据配置选择即可(需要登录NVIDIA账号)。
下载之后点击安装,路径选择默认路径即可(临时解压路径,建议默认即可,也可以自定义。安装结束后,临时解压文件夹会自动删除)。安装目录选择“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1”
选择自定义安装并且如果你是第一次安装,尽量全选;如果你是第n次安装,尽量只选择第一个,不然会出现错误
(当然,强烈建议选择自定义,因为我们只卸载了 CUDA 所以只需要安装 CUDA即可。这也能够省去很多麻烦)
ps:如果是首次安装且没有安装Visual Studio,请选择自定义安装并去掉“Visual Studio Integration”选项。
耐心等待…
安装完成。当然,细心的朋友发现我上面高亮的部分是没有安装的,这个由于我安装的时候报错取消安装了,有需要的可以去"C:\Users\yxn\AppData\Local\Temp\cuda\nsight_vse\nsight_vse"下面点击"nsight_visual_studio_edition-windows-x86_64-2023.1.1.23089_32673672.msi"单独安装即可.
3. 安装后检查
- 检查C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin下是否存在
nvcc.exe
。 - 检查C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\extras\CUPTI\lib64下是否存在
cupti64_XXX.dll
。 - 在命令行中输入
nvcc -V
查看安装的CUDA版本。
如上图所示,cuda已经安装成功。
六、下载并安装cuDNN
1.下载cuDNN安装包
推荐:访问 NVIDIA官网(https://developer.nvidia.com/rdp/cudnn-archive),注册登录后下载与CUDA版本相对应的cuDNN。
其它:访问 https://developer.nvidia.com/cudnn-downloads (下载的到的是最新版本的exe文件,不推荐)
2.安装cuDNN
将下载的cuDNN压缩包解压到CUDA的安装路径下并覆盖相应文件。
将下载到的压缩包解压到 cuda 的安装路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1
下并覆盖。
cd到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\extras\demo_suite
,然后分别执行
bandwidthTest.exe
deviceQuery.exe
若都能成功运行且没有报错就恭喜你cuDNN安装成功了.
3.检查环境变量
确保以下路径已添加到环境变量的path中:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\extras\CUPTI\lib64
参考:
CUDA卸载&&重装
windows cuda更新教程
七、安装pytorch并验证PyTorch与CUDA的兼容性
1. 安装PyTorch
使用PyTorch官网提供的安装命令进行安装。PyTorch官网(https://pytorch.org/)
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
太慢了,可以使用下面地址借助第三方软件从源下载:
https://download.pytorch.org/whl/cu121/torch-2.3.1%2Bcu121-cp39-cp39-win_amd64.whl
https://download.pytorch.org/whl/cu121/torchvision-0.18.1%2Bcu121-cp39-cp39-win_amd64.whl
https://download.pytorch.org/whl/cu121/torchaudio-2.3.1%2Bcu121-cp39-cp39-win_amd64.whl
- 各版本pytorch下载地址 https://download.pytorch.org/whl/torch_stable.html
执行安装:
pip install "torch-2.3.1+cu121-cp39-cp39-win_amd64.whl" "torchvision-0.18.1+cu121-cp39-cp39-win_amd64.whl" "torchaudio-2.3.1+cu121-cp39-cp39-win_amd64.whl"
再次执行
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip list # 查看已安装的包
2.验证效果
在Python环境中运行以下代码进行验证:
import torch
# 查看PyTorch是否支持CUDA
print(torch.cuda.is_available())
# 查看可用的CUDA设备数量
print(torch.cuda.device_count())
# 查看PyTorch对应的CUDA版本号
print(torch.version.cuda)
# 返回当前设备索引
print(torch.cuda.current_device())
# 返回gpu的名字,设备索引默认从0开始
print(torch.cuda.get_device_name(0))
如果输出显示CUDA可用,且设备数量大于0,同时CUDA版本号与安装的CUDA版本一致,则表示安装成功。
至此,最新版本的pytorch+CUDA安装成功!!!开始愉快的学习吧!
推荐: 动手学深度学习-李沐
八、安装过程中的一些问题
Nsight Visual Studio Edition 安装失败
首先确保CUDA相关组件卸载干净,不然使用 Uninstall -Tool 工具进行卸载。或者安装时候取消勾选"nsight vse",安装完成之后单独安装.
参考:
NVIDIA安装程序失败-Nsight Visual Studio Edition失败解决办法
安装CUDA失败的情况nsight visual studio edition失败
想同时安装tensflow-gpu版本的,请按照cuda11.6,12.x不支持。
九、后记
通过本文的指南,希望大家能够顺利地在Windows系统下安装和配置CUDA、cuDNN与PyTorch,从而能够充分利用GPU的并行计算能力进行深度学习模型的训练和推理。在实际使用过程中,如果遇到任何问题或挑战,建议查阅官方文档或寻求社区的帮助。同时,也欢迎各位留言分享自己的安装经验和技巧,共同推动深度学习技术的发展。