在本节内容讲解之前,先提几个前提。

前提是,有部分同学电脑上存在如下几个问题:

  • 电脑无法使用GPU
  • GPU无法在Pytorch中调用

第一个问题

第一个问题的检验方法是在cmd中使用如下代码:

1
nvidia-smi

如果在jupyter中使用,在前方加上感叹号即可,注意是英文。

如果你的结果如下

GPU.jpg

证明你的电脑可以使用GPU,接下来我们再次验证该GPU是否可以在Pytorch中使用(在python中):

1
2
3
torch.cuda.device_count()
#output
#1

输出的结果就是你电脑的GPU数量(也可以观察第一步输出的内容)

如果你发现第一步根本没有输出,那么你需要下载一个nvidia显卡驱动,网址在这里,如果你的电脑使用AMD显卡,则找到AMD官网即可,点击官网右上角的驱动程序,选择相对应的打开即可。

那么我们如何确定我们电脑的显卡是英伟达还是AMD呢? 方法如下:

  • 在windows搜索栏搜索设备管理器
  • 找到显示适配器,点击展开

然后你就可以看到自己的显卡,在官网找到相应的驱动程序。

所谓驱动程序就是指硬件和系统的桥梁,也就是说相当于一个翻译官,比如你运行一个游戏或者一个模型训练,即使你的显卡效果优越,但如果没有一个合适的翻译,系统仍然不知道你在干什么。驱动的升级意味着能更好的发挥你显卡的功能。😄

注:显卡由GPU,显存等等组成,GPU是显卡的组成部分。

第二个问题

如果你的torch.cuda.device_count()输出结果为零,那么可能你没有下载支持GPU的Pytorch和对应的cuda。

下载cuda

CUDA 是 NVIDIA 发明的一种并行计算平台和编程模型。它通过利用图形处理器 (GPU) 的处理能力,可大幅提升计算性能。

目前为止基于 CUDA 的 GPU 销量已达数以百万计,软件开发商、科学家以及研究人员正在各个领域中运用 CUDA,其中包括图像与视频处理、计算生物学和化学、流体力学模拟、CT 图像再现、地震分析以及光线追踪等等。

他的下载网址在这里

下载Version是11的exe(local)即可。

此外,顺便一提,CUDA和Pytroch(GPU)以及显卡之间都有比较繁琐的对应关系,这部分也是比较折磨的,我的建议是都下载最新版本的。如果确实不行,再去仔细研究适当降低版本。

什么是cuDNN

CUDA看作是一个工作台,上面配有很多工具,如锤子、螺丝刀等。cuDNN是基于CUDA的深度学习GPU加速库,有了它才能在GPU上完成深度学习的计算。它就相当于工作的工具,比如它就是个扳手。

但是CUDA这个工作台买来的时候,并没有送扳手。想要在CUDA上运行深度神经网络,就要安装cuDNN,就像你想要拧个螺帽就要把扳手买回来。这样才能使GPU进行深度神经网络的工作,工作速度相较CPU快很多。

配置环境变量

  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\cudnn\bin
  • C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\extras\CUPTI\lib64

最好一路默认安装CUDA,这样会安装到C盘,运行速度会更快一些,如果你安装到其他盘,请将以上目录适当更改,然后,将以上目录添加到环境变量中即可。

环境变量更改上一节课已经讲过,如果不会可以私聊我。

下载GPU版本的Pytroch和Pytorchvision

具体的镜像网站在这里

之后根据以下三个信息定位你要下载的内容:

  • cuda的版本
  • python的版本
  • 你的系统

比如cu101/torchvision-0.5.0-cp38-cp38-win_amd64.whl。

如果你的cuda和python都是最新,只需要下载最新的即可。

最后一步使用cmd的命令,设你的下载目录为x,则在cmd中使用如下命令:

1
pip install torch 'x'

注意,需要下载两个whl文件。

以上下载和pip install都是在某一个环境中使用的,如果你想要在jupyter中使用,请参考我之前的文章进行环境注入