写点什么

Pytorch、CUDA 和 cuDNN 的安装图文详解 win11(解决版本匹配问题)

作者:timerring
  • 2022-10-27
    山东
  • 本文字数:2496 字

    阅读完需:约 8 分钟

本文已收录于 Pytorch 系列专栏: Pytorch入门与实践 专栏旨在详解 Pytorch,精炼地总结重点,面向入门学习者,掌握 Pytorch 框架,为数据分析,机器学习及深度学习的代码能力打下坚实的基础。免费订阅,持续更新。


可能出现的问题:


  • CUDA 和 cuDNN 版本不匹配

  • CUDA 和 Pytorch 版本不匹配

  • cuDNN 和 Pytorch 版本不匹配

  • 显卡不支持 CUDA 该版本

  • 已经装完部分,发现版本不匹配准备卸载。


说在前面的话!


  1. 在 ubuntu 系统下,可以尝试装多个 cuda 版本,然后通过 conda 安装对应的 Pytorch 版本。通过软连接的方式来实现 cuda 版本的切换。**但是,在 win 系统下,最好是用相同的支持版本,以免不匹配。**不用纠结是否向下兼容等等问题,最优的方法就是安装相同的版本。

  2. 对于 CUDA 的版本,我推荐用以往的稳定版本,就是指目前还在一直维护的比较旧的版本,原因有很多:

  3. 比较旧的版本有强大的社区支持,可以方便地找到前人总结地 bug 解决方案,而不是遇到最新问题时能力不够导致的一筹莫展。

  4. 较旧的版本至今仍在维护,说明其仍有很大的价值,用户基数很多,能确保开发的流畅与稳定。

  5. 由于学术界和工业界都喜欢用比较稳定的版本来搭建模型,因此如果想要复现论文,或是 pull 别人的代码修改,较新的版本很有可能会出现错误。

CUDA 的安装

1.查询支持的最高版本

首先安装之前要先检查我们显卡所支持的最高的 CUDA 版本:





目前是 11.6 的驱动,因此我的显卡最高是可以支持到 CUDA11.6 版本的。


知道了我们的最高支持版本之后,我们就可以在小于等于该版本的 CUDA 中选择了。

2.查询 Pytoch 与 cuDNN 版本

首先不用着急挑选 CUDA 的版本。我们先看下pytorch以及cuDNN的版本支持情况。


Pytorch:https://pytorch.org/


cuDNN:https://developer.nvidia.com/rdp/cudnn-archive



可以看到对于 win 系统,Pytorch 支持的版本有 10.2,11.3,11.6 等。



cuDNN 支持的版本有 10.2,11.5,11.4 等等。


这里我推荐装 10.2 或者 11.3,原因见开头,不多做赘述。这里以 11.3 为例。

3.下载 CUDA

在 CUDAhttps://developer.nvidia.com/cuda-toolkit-archive中,寻找CUDA Toolkit 11.3版本,然后寻找相应的版本下载即可。


4.安装 CUDA

安装 CUDA,首先需要选择 CUDA 的临时解压路径,这个临时解压文件夹会在安装完成后自动删除,这里建议默认。



解压完成后会有安装程序,同意即可。接下来的安装选项选择自定义:



在安装 CUDA 中取消这个 VS 有关的组件:



底下这三个也没必要,可安可不安,看个人选择:



安装路径仍然建议默认,在 Program Files 中,方便以后寻找。建议记住这里的 CUDA 路径。



然后一直确认最后关闭即可,这里不多赘述。

5.验证 CUDA 是否安装成功

我们在cmd中使用 cd 命令切换到刚刚 CUDA 的安装路径下的 bin(二进制)文件夹下,再执行 nvcc -V 命令。



可见 CUDA 是正确安装的。

cuDNN 的安装

在 cuDNN 的版本中,选择支持该版本的 CUDA 即可,这里我们看到 v8.5.0 的 cuDNN 支持 CUDA 11.X,说明兼容 cuda11.x 全系列。点击下载即可。



接下来,解压该压缩包,然后复制其中的文件夹



粘贴到 CUDA 的安装目录下,即完成了 cuDNN 的安装。


验证是否安装成功

在 cmd 中进入到 demo 文件夹:路径为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\extras\demo_suite


执行bandwidthTest.exe,如果运行结果出现了 PASS 即代表安装成功。



再输入命令deviceQuery.exe查询设备。



这里会显示你的 GPU 型号,以及 PASS,表示 CUDA 和 cuDNN 都安装成功了。


Pytorch 安装

进入 Pytorch 官网https://pytorch.org/,选择需要安装的 pytorch 版本。这里安装方式可以选择 pip。可以看到有生成的 command,里面有个网站,只需要进入该网址下载即可。


下载 torch


由于我们安装的 torch 版本为 Stable1.12.1,因此我们需要查找前缀为:torch-1.12.1的文件。注意找的是 GPU 版本,cuxxx 代表 CUDA 版本 xxx。这里我们找到对应的 cu113,然后点击下载。cp 代表 python 版本,这里我们选择 cp37 版本的 win 下载。



然后返回,进入 torchvision。

下载 torchvision


torchvision 的版本选择最新就好,但是要与 cuda 及 python 匹配,这里直接搜索cu113-cp37



下载对应的版本即可。


新建 pycharm 创建项目,新建项目名称为 PytorchTest, 文件名为 HelloPytorch。输入以下代码测试


import torch
print("Hello Pytorch{}".format(torch.__version__))
复制代码


结果报错,ModuleNotFoundError: No module named 'torch',因为当前环境没有 torch。


我们可以用 conda 创建虚拟环境并安装 torch。


首先再 Terminal 中输入conda create -n pytorch-gpu python=3.7,这里 python 版本与我们要安装的版本相同。


出现 Proceed ([y]/n)? 直接输入 y 即可。


接着输入conda activate pytorch_gpu激活环境。


注意:进入 conda 虚拟环境后 venv 前面的提示会变成你的环境名称,如下:

如果没有显示,则可能因为 pycharm 终端采用的是 PowerShell。需要在设置中切换。

换成如图所示的 cmd 终端即可。


进入终端后切换到下载刚刚 torch 和 torchvision 的文件夹中


cd D:\Develop\pytorch_install //因人而异,cd到你的下载torch和torchvision的文件夹中即可。
复制代码


用 pip 安装 torch


pip install "torch-1.12.1+cu113-cp37-cp37m-win_amd64.whl"
复制代码


用 pip 安装 torchvision


pip install "torchvision-0.13.1+cu113-cp37-cp37m-win_amd64.whl"
复制代码


完成安装



安装完成后,需要绑定该项目的解释器为这个虚拟环境。因此需要设置:



找到该项目的 Python 解释器,然后点击齿轮,选择 add:



选择 conda,找到已经存在的环境:



查找你的 anaconda 安装的目录


这里可以搜索 anaconda 并打开文件位置。



然后继续右键打开文件位置即可。



打开后找到 envs(环境)文件夹。



找到刚刚创建的环境,复制文件路径到 pycharm。



在 pycharm 中选择该文件路径下的 python.exe 解释器即可



然后一直 ok,等待 python 解释器的重载即可,可能需要等一分钟。


然后重新尝试测试代码并运行。


import torch
print("Hello Pytorch{}".format(torch.__version__))
print(torch.cuda.is_available())
复制代码



返回 true 说明安装成功。

CUDA 的卸载

首先,搜索控制面板并打开



找到程序卸载



可以在列表中找到有关于 NVIDIA 的相关组件,找到有关于 CUDA 的组件并卸载即可,其他的可以保留,因为高于该版本的 CUDA 会更新其他组件的。(本质上临近时间安装的都能卸载



右键 -> 卸载 然后在卸载程序中卸载即可。剩下的方法类似。



最后不放心的话可以用火绒等软件清理一下注册表。

发布于: 刚刚阅读数: 4
用户头像

timerring

关注

还未添加个人签名 2022-07-14 加入

还未添加个人简介

评论

发布
暂无评论
Pytorch、CUDA和cuDNN的安装图文详解win11(解决版本匹配问题)_PyTorch_timerring_InfoQ写作社区