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

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

相关推荐

  1. UbuntuCOLMAP编译安装

    2024-06-12 17:10:04       42 阅读
  2. CentOS 7软件安装:YUM命令详解实战

    2024-06-12 17:10:04       14 阅读
  3. Ansible Playbook 精髓:书写应用

    2024-06-12 17:10:04       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 17:10:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 17:10:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 17:10:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 17:10:04       18 阅读

热门阅读

  1. Spring Boot 面试热点(一)

    2024-06-12 17:10:04       8 阅读
  2. 初识Docker

    2024-06-12 17:10:04       5 阅读
  3. 记录一个apisix修改后台接口超时时间的方法

    2024-06-12 17:10:04       6 阅读
  4. YOLOv10改进|采用ADown降采样模块有效融合

    2024-06-12 17:10:04       4 阅读
  5. YOLO v5与YOLO v8框图比较

    2024-06-12 17:10:04       9 阅读
  6. 2024年,计算机相关专业还值得选择吗?

    2024-06-12 17:10:04       8 阅读
  7. 22.正则化

    2024-06-12 17:10:04       3 阅读
  8. 一些常用的git指令总结

    2024-06-12 17:10:04       7 阅读
  9. 设计模式-单例模式

    2024-06-12 17:10:04       7 阅读