【问题标题】:Torch.cuda.is_available() keeps switching to FalseTorch.cuda.is_available() 不断切换到 False
【发布时间】:2019-09-07 02:55:38
【问题描述】:

我尝试了几种解决方案,这些解决方案暗示了当 CUDA GPU 可用并且安装了 CUDA 但Torch.cuda.is_available() 返回False 时该怎么做。他们确实提供了帮助,但只是暂时的,这意味着 torch.cuda-is_available() 报告了 True,但一段时间后,它又切换回 False。我使用的是 CUDA 9.0.176 和 GTX 1080。我应该怎么做才能获得永久效果?

我尝试了以下方法:

https://forums.fast.ai/t/torch-cuda-is-available-returns-false/16721/5 https://github.com/pytorch/pytorch/issues/15612

注意:当torch.cuda.is_available() 工作正常但有时切换到False 时,我必须重新启动计算机,然后它才能再次工作(一段时间)。

【问题讨论】:

  • 我也面临同样的问题,但在 docker 内部。太烦人了,我需要时不时地重新启动docker。你找到解决办法了吗?

标签: pytorch torch


【解决方案1】:

也与torch.cuda.is_available () 有错误。
但是当安装 Nvidia 驱动到最新版本 436.48 时,会显示 True。我之前将 Pytorch 更新到 1.2.0。 我有 Windows 10 和 Anaconda

【讨论】:

    【解决方案2】:
    1. 按照以下链接中的说明使用 apt-get 安装 CUDA 9.1:

    https://cryptoandcoffee.com/mining-gems/cuda-9-0-install-ubuntu-16-04-apt-get/

    1. 使用 pip 安装 PyTorch:

      pip install torchvision ( this will install both torch and torchvision )
      
    2. 重新启动

    现在试试吧:

    ~$ python -c 'import torch; print torch.cuda.is_available()'
    

    【讨论】:

      【解决方案3】:

      我也看到了这个问题。原因是 Pytorch 使用的 CUDA 版本与安装的 Nvidia 驱动程序不同步。正如乔的回答一样,解决方案是更新 Nvidia 驱动程序。需要注意的其他一些重要背景信息:

      • 每个版本的 CUDA 都需要最低 Nvidia 驱动程序版本(有关兼容性表,请参阅 here)。
      • 您可以使用nvidia-smi 检查您的 Nvidia 驱动程序版本。
      • Pytorch 预装了一个可能与您在计算机上安装的版本不同的 CUDA 版本。
      • 您手动安装的 CUDA 版本是您运行 nvidia-smi 时显示的版本。即使您的驱动程序版本与此 CUDA 版本兼容,它也可能与 Pytorch CUDA 版本不兼容。
      • 您可以通过在 ipython 或 Python 程序中打印 torch.version.cuda 变量来获取 Pytorch CUDA 版本。这是确定所需 Nvidia 驱动程序版本的版本。

      【讨论】:

      • AttributeError: module 'torch.cuda' has no attribute 'version'
      • 谢谢 - 应该是torch.version.cuda。我编辑了帖子
      猜你喜欢
      • 2020-03-27
      • 1970-01-01
      • 1970-01-01
      • 2016-06-28
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-06
      相关资源
      最近更新 更多