0%

torch | 配置 GPU 训练环境

在网上有很多关于使用 gpu 训练的博文,但是,如果按照他们的安装方式,有的时候总是不行。会出现下面的错误:

  • cuda 明明已经安装成功了,为什么 torch.cuda.is_available() 为什么是 False
  • 我需要在本地安装 cudnn 或者 cuda 吗?

环境介绍


ps: 有一天我的电脑自己更新了驱动,变成了 450 ,硬件环境不变,cuda11.0 ,最后,我发现速度竟然提高了,并且,我并没有改变 anaconda 的虚拟环境,依然可以跑。


torch 的安装


2020-01-21 清华源有问题,所以,希望你可以用我下面修改后的清华源来安装,具体参考


pytorch 使用 gpu 训练


首先,现阶段 pytroch 只支持 nvidia 显卡进行 gpu 运算,所以,mac 只能下载 cpu only。

打开官网

可以看到有安装图片解析

但是,如果只是简单的根据图上安装,可能 GPU 是用不了的。

主要是

  • 驱动和 cuda 版本不一致
  • pytorch 版本和 cuda 版本不一致
  • cudatoolkittorchaudiotorchvision 版本不一致

那正确的路径是什么呢?

  1. 查看 GPU 驱动是否能和 cuda 对应的上?

你可以查看我下面的博文

我的驱动是 440 ,然后 cuda10.2.

根据驱动来安装 pytorch 的特定版本,具体网页,是点击图中的 下方的红框 ,Previous versions of PyTorch

  1. 查询 cuda 能安装的 pytorch 的版本。

最终,我选择安装 pytorch == v1.5.0

使用

conda install pytorch==1.5.0 torchvision==0.6.0 cudatoolkit=10.2

可以看到,这里面都是固定的版本,所以,如果是按照图上的安装,很可能造成版本不一致,出现意想不到的 bug.

这里解答一下疑问。

  1. 看网上的很多博文,除了安装驱动外,还需要手动安装 cuda 和 cudnn 这些?

根据我实际上流程,我走的是图形安装的方式,所以,系统会自己安装驱动和cuda,至于 cudnn 我没有安装过,但是,我依然可以用 GPU 来跑程序!

根据网上的资料来看,不需要自己手动安装 CUDAAnaconda 已经包含了 cudatoolkit。但是要记得自行安装显卡驱动。

很多教程都说要自行到 NVIDIA 下载并安装 CUDA,其实没有必要。就算你手动安装了 CUDAPyTorch 在使用 GPU 时还是使用的 Anaconda 中的 cudatoolkit。如果想要让 PyTorch 使用手动安装的 CUDA,则需要通过源码安装 PyTorch 并绑定系统环境的 CUDA

  1. 我需要安装 cudnn 吗?

如果不安装 cudnn ,程序依然可以跑起来,但是,想要更快,就需要安装 cudnn,因为,cuDNN 是一个深度神经网络 GPU 加速库,可以大幅提高 GPU 的运算性能,比如常见的 forword and vackwoard convolutionpoolingnormalization 以及 activation 等。

cudnn 可以到 nvidia 官网进行下载和安装,也可以使用 anaconda 进行安装。这里推荐使用 anaconda 安装,另外,要特别注意,cuda 版本是和 cudnn 版本相对应的。

我还没安装过 cudnn 所以,在这里就不说了。


检测是否成功


进入相应的 python 环境

输入

import torch
print(torch.cuda.is_available())

如果输出为 True 那就证明你的环境是对的。

请我喝杯咖啡吧~