torch.cuda.is_available() 在 colab 中返回 false

Posted

技术标签:

【中文标题】torch.cuda.is_available() 在 colab 中返回 false【英文标题】:torch.cuda.is_available() returns false in colab 【发布时间】:2020-03-27 23:49:45 【问题描述】:

我正在尝试在 google colab 中使用 GPU。以下是我的 colab 中安装的 pytorch 和 cuda 版本的详细信息。

Torch 1.3.1 CUDA 10.1.243

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

我对在 pytorch 模型上使用 GPU 进行迁移学习非常陌生。我的 torch.cuda.is_available() 返回 false,我无法使用 GPU。 torch.backends.cudnn.enabled 返回 true。这里可能出了什么问题?

【问题讨论】:

您还需要确保您的 colab 实例中确实有 GPU。 【参考方案1】:

(这在 2021 年 1 月有效)

pip install torch==1.7.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html

用我的参数:

!nvcc --version
# nvcc: NVIDIA (R) Cuda compiler driver
# Copyright (c) 2005-2019 NVIDIA Corporation
# Built on Sun_Jul_28_19:07:16_PDT_2019
# Cuda compilation tools, release 10.1, V10.1.243

【讨论】:

【参考方案2】:

万一其他人来到这里并犯了同样的错误:

如果您尝试检查 GPU 是否可用并且您这样做了:

if torch.cuda.is_available:
  print('GPU available')
else:
  print('Please set GPU via Edit -> Notebook Settings.')

GPU 似乎总是可用的。请注意,您需要使用torch.cuda.is_available() 而不是torch.cuda.is_available

【讨论】:

【参考方案3】:

确保您的硬件加速器设置为 GPU。

Runtime > Change runtime type > Hardware Accelerator

【讨论】:

【参考方案4】:

使用上述所有版本,我不必将我的 CUDA 降级到 10.0。更新后我重新启动了我的 colab,将我的运行机器设置回 CPU,我只需将其改回 GPU。

【讨论】:

【参考方案5】:

临时修复可能是尝试 Cuda 10.0 为 explained in here。

类似这样的:

conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

在未来的版本中,这可能会起作用。

【讨论】:

以上是关于torch.cuda.is_available() 在 colab 中返回 false的主要内容,如果未能解决你的问题,请参考以下文章

FAQP3. 为什么 torch.cuda.is_available() 是 False

torch.cuda.is_available() OSError: [WinError 126]

torch.cuda.is_available() 返回 true,但火炬模型继续在 CPU 上进行训练 [关闭]

!避雷:print(torch.cuda.is_available())返回False

带有 CUDA 和 Nvidia 卡的 PyTorch:RuntimeError:CUDA 错误:所有支持 CUDA 的设备都忙或不可用,但 torch.cuda.is_available() 为 T

RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is Fal