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

2024-06-13 1326阅读

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
          GPUNVIDIA GeForce GTX 1650
          显卡驱动版本 (Driver Version)555.99
          CUDA版本 (CUDA Version)12.1.1
          包管理工具pip
          PyTorch版本2.3.0

          1. 查看支持的CUDA版本

          • 通过NVIDIA控制面板查看:右键桌面打开NVIDIA控制面板,依次点击“帮助”-“系统信息”-“组件”。

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

          • 通过cmd 打开控制台,输入命令nvidia-smi查看:在命令提示符(cmd)中输入nvidia-smi。

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

            这两种方法效果一样,查看到的都是本机支持的最高版本的CUDA,它是可以向下兼容的。一般我们不需要安装最高版本,而是通过下面的结合 pytoch 版本来选择。我的系统最高支持12.3版本的驱动。

            2. 查看已安装的CUDA版本

            在命令提示符中输入nvcc -V。

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

            可以看到我现在安装的是11.6版本的,现在我想将其更新为12.1。

            3. 查看支持的PyTorch版本

            访问PyTorch官网(https://pytorch.org/),根据系统配置选择合适的PyTorch版本,并注意其对应的CUDA版本。

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

            从上图中可以看到,目前官方支持的最新稳定版本为 pytorch2.3.0 + CUDA12.1。而我们上面查看到的本地实际上可以支持到 12.3,但是 pytorch 只支持到 12.1,所以我们 CUDA 只安装到 12.1 的版本就够了.

            四、卸载旧版CUDA

            1.控制面板卸载

            进入“控制面板”或“设置”-“应用”,卸载所有含CUDA字样 的程序。

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

            2.删除环境变量

            “此电脑-右键-属性-高级系统设置”进入环境变量的 path 中,删除旧版本CUDA的相关路径。

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

            3.删除残留文件

            进入C:\Program Files\,删除旧版本的CUDA文件夹。

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

            上面3个文件夹可以全部删除也可以只删除其子文件夹,因为后面更新的也是安装到该路径。

            五、下载并安装新版CUDA

            1. 进入NVIDIA官网(https://www.nvidia.cn/Download/index.aspx?lang=cn)下载最新的驱动程序进行更新

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

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

            点击搜索后点击下载即可。下载完成后安装至“C:\Program Files\NVIDIA\NVIDIA Display Driver”路径下面。

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

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

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

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

            安装完成之后再次输入nvidia-smi,可以看到我们的 Driver Version和CUDA Version: 12.5发生了变化,现在CUDA支持的最高版本为12.5。

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

            奇怪的是安装完成之后“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

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

            接着根据配置选择即可(需要登录NVIDIA账号)。

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

            下载之后点击安装,路径选择默认路径即可(临时解压路径,建议默认即可,也可以自定义。安装结束后,临时解压文件夹会自动删除)。安装目录选择“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1”

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

            选择自定义安装并且如果你是第一次安装,尽量全选;如果你是第n次安装,尽量只选择第一个,不然会出现错误

            (当然,强烈建议选择自定义,因为我们只卸载了 CUDA 所以只需要安装 CUDA即可。这也能够省去很多麻烦)

            ps:如果是首次安装且没有安装Visual Studio,请选择自定义安装并去掉“Visual Studio Integration”选项。

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

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

            耐心等待…

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

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

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

            安装完成。当然,细心的朋友发现我上面高亮的部分是没有安装的,这个由于我安装的时候报错取消安装了,有需要的可以去"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版本。

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

              如上图所示,cuda已经安装成功。

              六、下载并安装cuDNN

              1.下载cuDNN安装包

              推荐:访问 NVIDIA官网(https://developer.nvidia.com/rdp/cudnn-archive),注册登录后下载与CUDA版本相对应的cuDNN。

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

              其它:访问 https://developer.nvidia.com/cudnn-downloads (下载的到的是最新版本的exe文件,不推荐)

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

              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
              

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

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

              若都能成功运行且没有报错就恭喜你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 # 查看已安装的包
                

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

                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版本一致,则表示安装成功。

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

                至此,最新版本的pytorch+CUDA安装成功!!!开始愉快的学习吧!

                推荐: 动手学深度学习-李沐

                八、安装过程中的一些问题

                Nsight Visual Studio Edition 安装失败

                首先确保CUDA相关组件卸载干净,不然使用 Uninstall -Tool 工具进行卸载。或者安装时候取消勾选"nsight vse",安装完成之后单独安装.

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

                参考:

                NVIDIA安装程序失败-Nsight Visual Studio Edition失败解决办法

                安装CUDA失败的情况nsight visual studio edition失败

                想同时安装tensflow-gpu版本的,请按照cuda11.6,12.x不支持。

                九、后记

                通过本文的指南,希望大家能够顺利地在Windows系统下安装和配置CUDA、cuDNN与PyTorch,从而能够充分利用GPU的并行计算能力进行深度学习模型的训练和推理。在实际使用过程中,如果遇到任何问题或挑战,建议查阅官方文档或寻求社区的帮助。同时,也欢迎各位留言分享自己的安装经验和技巧,共同推动深度学习技术的发展。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]