大纲

  • 概述
  • 关于查看的方法
  • 查看显卡型号
  • 查看驱动版本
  • 查看CUDA版本
  • 查看显卡状态
  • 更新/下载显卡驱动(如果有需要)
  • 更新/下载CUDA
  • CUDA版本选择
  • CUDA安装
  • 安装成功检验
  • cuDNN安装
  • GPU版本的pytorch安装
  • GPU版本的tensorflow安装
  • 概述

  • 要想使用DGL需要基于后端,这里选择pytorch作为后端(其它的比如说有tensorflow)。要想使用PyTorch可以选择GPU和CPU两个版本,这里按照GPU来安装。 要想安装GPU版本的PyTorch需要安装CUDA。要想安装CUDA需要选择和显卡驱动兼容的版本。

  • CUDA(Compute Unified Device Architecture)是NVIDIA推出的并行计算框架,只有安装这个框架我们的GPU才能够被调用来进行复杂的并行计算。 PyTorch 是位于最顶层的深度学习框架, GPU 是底层硬件,而硬件与深度学习框架之间 “ 语言不通 ” —— GPU不能直接识别 PyTorch 的代码和指令,它需要二进制代码指令。

  • 所以在GPU与PyTorch之间,我们需要能够转换指令、传递数据的接口——CUDA和显卡驱动。CUDA 是上层应用程序的接口,它的职责就是将我们在PyTorch中编写好的程序信息(比如让GPU内部开多少个线程来算,怎么算之类的)整理出来,传递到底层硬件的接口,也就是显卡驱动那里。每当显卡驱动收到 CUDA 发来的指令后,它对CUDA程序进行编译,再将命令以及编译好的程序数据传送给 GPU,这样GPU就可以进行运算了。

  • 所以在这个过程中,CUDA需要与PyTorch互通,也需要与显卡驱动互通,而显卡驱动需要与GPU互通,这种“互通”就是我们常常说到的“兼容”。如果不兼容,那PyTorch就无法顺利调 GPU。正因如此,许多 PyTorch的GPU版本安装教程中,都会让大家查询显卡对应的驱动版本,然后再根据显卡驱动版本配置相应版本的CUDA 。了解了 CUDA 、显卡驱动、显卡以及 PyTorch 的关系之后,我们可以来进行安装了。如果GPU是10代之后(GTX 10XX,RTX系列等),应该使用最新版本的CUDA。

  • 【安装路线】:确保有硬件GPU——根据GPU型号安装兼容版本的GPU驱动——根据GPU驱动安装兼容版本的CUDA——根据CUDA安装兼容版本的pytorch/tensorflow

  • 【实际上确定版本的路线应该是反着的】: 确定要使用的库包(tensorflow/pytorch)版本——根据库包版本确定能兼容的CUDA版本——根据CUDA版本确定能兼容的GPU驱动版本

  • 关于查看的方法

    “——如何查看有无,有的话又是什么版本”

    查看显卡型号

  • 右键电脑点击管理——打开设备管理器——显示适配器——英伟达显卡型号
  • 如果显示有叹号,说明驱动有问题,需要重新下载驱动
  • 查看驱动版本

  • 同样在电脑右键管理——设备管理器——显示适配器,多了一步点击显卡——驱动程序

  • 查看CUDA版本

    点击开始——输入cmd——输入指令nvcc -V

    查看显卡状态

    点击开始-输入cmd-输入指令nvidia-smi
    nvidia-smi输出内容释义及使用

  • 注意这里也能显示当前的驱动版本,但是后面的CUDA却不是当前的CUDA实际版本,而是驱动所支持的最高版本
  • 更新/下载显卡驱动(如果有需要)

    驱动一般都会有,但就是老旧之分,越新的驱动支持的CUDA版本越高,同时新驱动向下兼容,也就是说新驱动也支持原来的旧版CUDA,也就是说新驱动大大滴好

  • 进入英伟达官网驱动页面https://www.nvidia.com/Download/index.aspx填入你的系统信息和显卡信息等,下载最适合的显卡驱动。(需要注意的是,如果你的GPU只用于深度学习,选择Studio Driver版本会相对更稳定,但是有的显卡可能只有GRD,搜SD搜不出来,也无所吊谓)
  • 下载后双击exe文件进行安装(如果你之前的驱动没有卸载干净的话,可以选择高级自定义模式,勾选上清洁安装可以把之前的驱动直接清除干净——我默认安装的C盘空间反而变大了貌似)
  • 更新完毕之后,进入你的NVIDIA控制面板,查看现有的驱动程序版本。1



  • 参考博文一:显卡驱动如何卸载重装?NVIDIA独立显卡驱动卸载重装的方法
    参考博文二:PyTorch(CPU版本及GPU版本)的安装及环境配置
    参考博文三:深度学习安装笔记(二)显卡、显卡驱动、CUDA 的关系以及显卡驱动升级

    更新/下载CUDA

    CUDA版本选择

  • 打开cmd输入指令nvidia-smi,查看有关显卡驱动的信息。我们可以直接得到驱动版本512.15和可安装的最高版本CUDA11.6,当然安装较低版本的CUDA也是可以的。
  • 我们也可以拿着驱动的版本信息512.15,去英伟达官网里面的CUDA文档发行说明 CUDA Documentation/Release Notes中【打开后往下划划】,找到兼容自己显卡驱动版本的CUDA(可以安装低一点版本的CUDA,表格含义是某版本CUDA所需要的最低显卡驱动。
  • 如果你想安装高版本CUDA,但是显卡驱动版本比较旧不足以支持,可以去回到上一步更新驱动——可能很老的显卡也能更新比较高版本的驱动,同样地就可以用高版本CUDA了
  • 进入以前 CUDA 版本的存档 Archive of Previous CUDA Releases,找到自己适合的版本进行下载(建议安装较高版本:虽然不同库对CUDA版本的依赖会有区别, 但是总之CUDA版本越高越好, 低版本的CUDA早晚会被淘汰2



  • CUDA安装

  • 确定好兼容显卡驱动的CUDA版本
  • 安装完CUDA之后,想选择最新版pytorch,恰好pytorch官网推荐的CUDA11.3兼容我的驱动
  • 进入CUDA官网,映入眼帘的是最新版本,右下角有之前旧版本的链接,跟我自己需要的版本进行下载
  • 遇到问题可以看下这个博主的CUDA安装问题汇总

    安装工作
    注意打开后先让你选择的路径是临时解压路径,安装完会删除的,所以要与你选择的安装路径区分开,否则你就会发现明明安装成功了但是莫名其妙被删了!
    参考博文CUDA程序安装失败原因及解决方案

    参考博文CUDA | CUDA10.2的安装——2020-05-21
    安装过程中选择自定义,可以好安装一些没必要的,如图我已经有比他版本不还要高的组件了,就选择性的不安装




    可以选择自定义安装,根据自己的情况有些组件可以不安装

    自定义安装路径

    安装成功检验

    见博客CUDA | CUDA10.2的安装——2020-05-21(注意是bandwidthTest.exe

    卸载CUDA
    bandwidthTest.exe

    cuDNN安装

    查看适配的 cuDNN
    https://developer.nvidia.com/rdp/cudnn-archive

    官方安装指南https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#installwindows
    其他人经验https://blog.csdn.net/anmin8888/article/details/127910084
    二者结合着看

    GPU版本的pytorch安装

  • 使用离线方式下载所需要的库包
  • 下载离线库的方法
    安装离线库的方法

  • 使用在线指令方式下载
  • 去pytorch官网,会直接看到最新版本pytorch,注意看指令中有cudatoolkit=11.3,说明会顺带给安装上11.3版本的CUDA
  • 由于之前我们下载了11.1版本的CUDA,我们这里点击之前版本的pytorch,发现对应CUDA11.1的话只有pip指令(无conda指令)可以操作,选择最新的1.10.1版本pytorch
  • 这时候坑爹的来了,之前用conda指令安装库包一直没问题,这里使用了pip指令,那么问题来了,下载的库包居然在C盘,还报红。
  • 有原因说是调用的pip这个包默认使用的c盘python的pip,但是我用where pip查询发现我只在D盘额外按了一个python有pip,其余的就是每个环境中的pip了(环境统统在D盘,包括base环境)。
  • 我的anaconda prompt打开后默认路径是用户路径(c盘),因为conda指令加入了环境变量,所以在c盘路径下使用conda指令系统也可以识别到我是要把库包安装在D盘,但pip指令只认当下是在哪个路径下发出的pip指令,显然一直是在c盘路径下操作,所以使用上述pip下载pytorch,我就眼睁睁的看着c盘一点点变小,并且,还特么变红报错了。
  • 修改了anaconda prompt 的默认打开路径之后,python安装在别的盘使用pip安装第三方的库
  • 好吧,出错之后应该直接搜问题,不应该自己瞎猜,还总是怀疑调用的pip把库包下载安装到C盘了。其实memory error 的意思表明pip是把文件默认缓存到c盘,但是因为文件过大超过了c盘的缓存大小限制。。。pip install时遇到MemoryError的原因和处理方法
  • –default-timeout=1000
  • 解决了mermory error巨坑又出现了。首先我们需要知道torch和torch versiontorch和torch audio之间也存在对应关系(对应关系的网址点击代码块即可跳转)。对于我要下载的兼容CUDA11.1版本torch1.10.1版本,经查torch1.10.1需要对应torch version0.11.2,无对应torch audio,官网给的命令pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html中,让下载的torch verison和torch audio并不匹配(推断命令是错误的)
  • 即使命令是对的,运行出来也会爆红显示,torch1.10.1下载没问题完成了,但在下载torch version1.11.0时显示搜索不到,经查只有linux版本(官网明明写了命令适用于linux和win)
  • 下一步怎么办呢?已经不想卸载安装好的CUDA11.1了反正,就一个个找吧,从torch version和torch audio找起。
  • GPU版本的tensorflow安装

    版本兼容网址


    1. PyTorch(CPU版本及GPU版本)的安装及环境配置 ↩︎

    2. 【学习笔记】图神经网络库 DGL 入门教程(backend pytorch) ↩︎

    物联沃分享整理
    物联沃-IOTWORD物联网 » CUDA+pytorch+DGL安装

    发表评论