CUDA+pytorch+DGL安装
大纲
概述
要想使用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,也就是说新驱动大大滴好
清洁安装
可以把之前的驱动直接清除干净——我默认安装的C盘空间反而变大了貌似)
参考博文一:显卡驱动如何卸载重装?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程序安装失败原因及解决方案
参考博文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安装
cudatoolkit=11.3
,说明会顺带给安装上11.3版本的CUDA
torch和torch version
、torch和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并不匹配(推断命令是错误的)
