Windows系统下CUDA、cuDNN与PyTorch的更新与安装全攻略

Windows系统下CUDA、cuDNN与PyTorch的更新与安装全攻略

文章目录

一、引言

随着人工智能技术的不断进步,深度学习已经成为当今科技领域的重要支柱,尤其在图像识别、自然语言处理等多个领域展现了其强大的能力。为了充分发挥深度学习的潜力,高效的计算能力显得尤为重要,而图形处理单元(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 systemnvidia 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

执行安装:

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环境中运行以下代码进行验证:

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的并行计算能力进行深度学习模型的训练和推理。在实际使用过程中,如果遇到任何问题或挑战,建议查阅官方文档或寻求社区的帮助。同时,也欢迎各位留言分享自己的安装经验和技巧,共同推动深度学习技术的发展。

相关推荐
空白诗13 分钟前
使用 nvm 管理 node 版本:如何在 macOS 和 Windows 上安装使用nvm
windows·macos·node.js·nvm
_道隐_2 小时前
如何在Windows上安装Docker
windows·docker
#include<菜鸡>3 小时前
动手学深度学习(pytorch土堆)-06损失函数与反向传播、模型训练、GPU训练
人工智能·pytorch·深度学习
sukalot3 小时前
windows C++ 并行编程-异步消息块(五)
c++·windows
指间and流年10 小时前
Windows Server2016多用户登录破解
windows
5pace13 小时前
PyTorch深度学习快速入门教程【土堆】基础知识篇
人工智能·pytorch·深度学习
sysin.org15 小时前
VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025
windows·macos·esxi·bios·oem·网卡驱动·nvme驱动
shuxianshrng15 小时前
大气网格化精细化监管监测系统
大数据·服务器·windows·经验分享
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑15 小时前
苍穹外卖学习笔记(七)
java·windows·笔记·学习·mybatis
AI完全体16 小时前
AI小项目4-用Pytorch从头实现Transformer(详细注解)
人工智能·pytorch·深度学习·机器学习·语言模型·transformer·注意力机制