1.Anaconda相关

1.1 使用anaconda展示现有的环境:

conda env list

1.2 删除现有的anaconda 虚拟环境 :

conda remove -n XXXX(虚拟环境名称) --all

会有个选项问你是不是全删了,选择y

2.配置CUDA(cuda runtime),如何选择CUDA版本

  • 因为如果使用GPU版本的Pytorch,则需要使用CUDA runtime 

补充一些背景知识:

首先,显卡是一个硬件,想要电脑识别出这个硬件则需要安装一个驱动(有了这个驱动就可以识别出这个显卡)

在安装驱动的时候,也同时安装了一个叫 cuda driver 的东西,现在的 NVIDIA 驱动已经内置了 CUDA Driver。CUDA Driver是一个底层软件,是操作系统(Ubuntu)和物理显卡沟通的唯一桥梁,驱动听起来很高端,其实可以理解为软件。当我们的电脑想利用显卡去做一些并行运算的时候,就可以通过cuda driver去操作显卡。

有了显卡和显卡驱动和cuda driver,我们计算机就可以利用显卡去做一些并行计算。

但是对于pytorch和一些使用GPU的其他软件来说,还得需要一个叫cuda runtime的东西。这样,pytorch才可以通过cuda runtime 来调用 cuda driver 进而调用显卡 。因此这种层层调用的关系需要这三者层层匹配。

因此,要想让pytorch的GPU版本 成功运用 我们的GPU,则需要 :

显卡(GPU) && 显卡驱动(cuda driver version)&& Cuda runtime version  三者相互匹配

一般来说,为了防止cuda runtime 版本高导致支持A操作,但是 cuda driver版本低不支持A操作,所以,一般cuda runtime的版本要选择低于cuda driver的

同时,我们的显卡驱动cuda driver 要支持硬件显卡的算力

并且:其实,当cuda runtime version 的版本支持显卡对应的算力的时候,cuda driver 的版本也能够支持显卡对应的算力。

那么,匹配这三者的步骤如下:

① 由于显卡是固定的,那么显卡的算力也是固定的,于是我们去确定显卡算力:

其实就是确认自己的显卡型号,对于win就是:打开 任务管理器 -- 点击 “性能”选项卡 

我这个就是GeForce RTX 2060

②根据这个算力去寻找哪些cuda runtime支持对应的算力

访问cuda的维基百科,它列出了一张表,展示显卡的型号和对应的算力、架构等等。

网址如下(需要科学上网,所以我也截了个图放在下方): CUDA - Wikipedia

 

 对应一下,我的GPU就是算力(compute capability)为7.5 架构为Turing

 那么就对应下表,找出支持的 CUDA SDK (CUDA SDK 就是 我们之前说的CUDA Runtime):

 发现,后面几个,即CUDA SDK 10.0-10.2 ; 11.0 ; 11.1-11.4 ; 11.5-11.7.1都是将7.5这个算力包含进去了,即这些CUDA SDK 都是可以满足我们显卡算力的CUDA Rutime

③接下来就去看自己的cuda driver的版本是多少。

使用命令 nvidia-smi 得到我们的CUDA version :  如图所示,我的cuda version 是11.1

 于是我们进入pytorch官网,找一个比11.1小的CUDA Runtime 版本,我选择了10.2 版本的CUDA Runtime(Compute Platform 选择 CUDA 10.2),选择安装的方式pip , 然后往下看,理论上会生成对应的安装命令语句,但是,显示的是如下图的提示:

 pytorch官网告诉我们:

CUDA-10.2 PyTorch builds are no longer available for Windows, please use CUDA-11.6

于是,我们最好是更新电脑上的cuda 驱动版本 (方法如下):如何在windows上 安装&更新 显卡的驱动_chuanauc的博客-CSDN博客

现在我们更新完我们的显卡驱动,此时在命令行再次输入nvidia-smi命令,显示我们的cuda 版本是11.7 ,如下图所示:

(注意:nvidia-smi 中显示的 CUDA Version 不是 你安装的 "CUDA 工具包" (CUDA Toolkit) 的版本,此时你可能还没安装上  CUDA Toolkit 呢,这个 CUDA Version 仅仅表示你当前的 "Driver Version" 最高能够兼容和支持的 "CUDA Toolkit" 版本。

        但是鉴于,Pytorch GPU版本真的很好,他帮你把 CUDA Runtime 集成了,所以你无需去下载 CUDA Runtime 。但是 CUDA Runtime又是什么鬼, CUDA Runtime 又叫 CUDA 运行时,当你只是想运行一个已经编译好的 CUDA 程序,那么 CUDA Runtime 就够了。CUDA Runtime 是 CUDA Toolkit 的一个子集,既然 Pytorch 我们只是使用其编译好的库,那么我们是无需全部的 CUDA toolkit 的,只需要 CUDA Runtime,而这个 CUDA Runtime 已经被集成在 Pytorch-GPU库里了)

于是我们带着新的cuda驱动版本重新杀回pytorch下载界面:选择最新的可用cuda runtime 版本,比如现在我的cuda driver升级到了11.7那么就可以在compute platform上选择:cuda 11.6的版本。

注意:尽可能选择高版本的cuda runtime,选择最新的,不要选择之前老旧版本的

PS:其实我们发现CUDA-10.2 PyTorch builds are no longer available for Windows, please use CUDA-11.6这类不支持错误的时候,也可以坚持下载老版本:具体方法是

①点击 Get Start  ; ②选择Previous Pytorch Version选项卡

 于是就可以找到老的版本,就可以选择对应的命令 下载安装就好了

 (由于我们直接将cuda driver升级到了最新的版本,所以就不涉及到了很多的cuda driver和cuda runtime的版本匹配问题了,就比较简单)

终于到了可以安装pytorch的地方

3. 配置对应PyTorch

在这个网址下载就可了:

Start Locally | PyTorch

按下面的 对应命令行 在cmd中执行就好了

两个注意:①别安装错了虚拟环境②安装的时候,如果已经自己换成清华等国内的镜像了,那,就建议下载的时候,把vpn关了,否则就容易出现网络问题导致报错 

下载时会出现的界面:(我后来下载的是CUDA11.3版本)

下载完长这样:

【PS】pytorch一般包含三个包:torch、torchvision、torchaudio。其中,torch是pytorch的核心包,集成了pytorch的一些核心功能;torchvision是pytorch提供给图像处理的一个包,里面包括一些可以用来给图片进行处理的工具;torchaudio提供给语言处理的一些包

如果使用conda安装,那么会使用到一个cudatoolkit是一个conda用于安装包的套件
cudnn是一个可以用GPU进行加速的神经网络的包,pytorch现在已经将cudnn集成进来了,下一个pytorch就把cudnn等一系列全集成起来了

【PS】验证一下pytorch 是否安装成功:

按以下命令去执行,如果torch.cuda.is_available()返回True证明电脑的gpu可以被pytorch使用 


ref :

我爱土堆,大家有时间去看看土堆视频的时候,有币捧个币场,没币捧个赞场。

土堆真的讲的太好了,然后,如果愿意,还可以请土堆喝咖啡,为大佬递上卡布奇诺~

方法是:这个是土堆的csdn网址:可以进去随便找篇文章,点击打赏就可以了,再次谢谢土堆www我是土堆的博客_CSDN博客-Windows下PyTorch深度学习环境配置,PyTorch 目标检测入门实战系列,PyTorch 深度学习快速入门教程领域博主

参考视频链接:

1. 硬件、cuda driver 、cuda runtime之间的版本匹配的逻辑关系:

23. GPU版本-GPU与CUDA准备工作_哔哩哔哩_bilibili

2. 简易的上手版操作(通过将cuda driver 更新到最新来方便匹配 "硬件、cuda driver 、cuda runtime"这三者 )

25. GPU版本-判断CUDA Runtime 版本_哔哩哔哩_bilibili

3. 安装pytorch :

26. GPU版本-安装PyTorch(方法1)_哔哩哔哩_bilibili

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐