【问题标题】:Google-colaboratory: No backend with GPU availableGoogle-colaboratory:没有可用的 GPU 后端
【发布时间】:2018-07-08 13:19:07
【问题描述】:

Here 描述了如何在 google-colaboratory 中使用 gpu:

只需在笔记本设置的加速器下拉菜单中选择“GPU”(通过编辑菜单或 cmd/ctrl-shift-P 的命令面板)。

但是,当我在笔记本设置中选择 gpu 时,我会弹出一个提示:

未能分配后端 没有可用的 GPU 后端。您想使用没有加速器的运行时吗?

当我跑步时:

import tensorflow as tf
device_name = tf.test.gpu_device_name()
if device_name != '/device:GPU:0':
    raise SystemError('GPU device not found')
print('Found GPU at: {}'.format(device_name))

当然,我得到GPU device not found。似乎描述不完整。有什么想法需要做什么吗?

【问题讨论】:

    标签: google-colaboratory


    【解决方案1】:

    您需要为笔记本配置 GPU 设备

    点击编辑->笔记本设置->硬件加速器->GPU

    【讨论】:

    • 我在:/device:GPU:0 找到了 GPU。这是否意味着 GPU0,即我的 Intel HD (R) Graphics Family ?如何让它检测到我的第二个 GPU,即 NVIDIA?
    【解决方案2】:

    您需要稍后在 GPU 可用时重试。该消息表明所有可用的 GPU 都在使用中。

    FAQ 提供更多信息:

    我可以如何使用 GPU,为什么它们有时不可用?

    Colaboratory 旨在用于交互式使用。长期运行的背景 可能会停止计算,尤其是在 GPU 上。请不要使用 加密货币挖掘实验室。不支持这样做,并且 可能导致服务不可用。我们鼓励希望的用户 通过 Colaboratory 的 UI 运行连续或长时间运行的计算 使用local runtime。

    使用 GPU 进行持续训练似乎有一个冷却时间。因此,如果您遇到错误对话框,请稍后再试,或许可以尝试在后续课程中限制长期训练。

    【讨论】:

      【解决方案3】:

      我的声誉有点太低,无法发表评论,但这里有一些关于 @Bob Smith 的回复冷却时间的附加信息。

      使用 GPU 进行持续训练似乎有一个冷却时间。因此,如果您遇到错误对话框,请稍后再试,或许可以尝试在后续课程中限制长期训练。

      根据我自己最近的经验,我相信 Colab 最多会为您分配 12 小时的 GPU 使用时间,之后大约有 8 小时的冷却时间,您才能再次使用计算资源。就我而言,即使没有 GPU,我也无法连接到实例。我不完全确定下一点,但我认为如果您一次运行 3 个实例,那么您的 12 小时会以 3 倍的速度耗尽。我不知道 12 小时限制会在什么时间后重置,但我猜可能是一天。

      无论如何,仍然缺少一些细节,但主要的收获是,如果您超出限制,您将被锁定 8 小时无法连接到实例(如果您正在积极工作,这将是一个巨大的痛苦在某事上)。

      【讨论】:

      • 如何查看使用限制?我的意思是这只是一个早上的时间,我得到使用 TPU/GPU 的使用限制超出错误。我只用了 1 到 2 个小时。最后一次用到前一天晚上 12:00,所以已经用了 8 个多小时了。
      • 我不能 100% 确定这一点,但我相信您在 24 小时内最多有 12 小时。
      【解决方案4】:

      加几张图更清楚

      【讨论】:

        【解决方案5】:

        Reset runtime 不起作用后,我做到了:

        Runtime -> Reset all runtimes -> Yes

        然后我很高兴:

        Found GPU at: /device:GPU:0
        

        【讨论】:

          【解决方案6】:

          这是您问题的准确答案。 根据 Colab 的帖子:

          总体使用限制、空闲超时时间、最大 VM 生命周期、可用的 GPU 类型和其他因素随时间而变化。

          GPU 和 TPU 有时会优先考虑使用 Colab 的用户 交互式而不是用于长时间运行的计算,或用于用户 最近在 Colab 中使用较少资源的人。结果,用户 使用 Colab 进行长时间运行的计算,或最近使用 Colab 的用户 在 Colab 中使用了更多资源,更有可能遇到使用限制 并暂时限制他们对 GPU 和 TPU 的访问。用户 具有高计算需求的人可能对使用 Colab 的 UI 感兴趣 在自己的硬件上运行本地运行时。

          【讨论】:

            【解决方案7】:

            Google Colab默认有tensorflow 2.0,改成tensorflow 1。添加代码,

            %tensorflow_version 1.x 在任何 keras 或 tensorflow 代码之前使用它。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-01-11
              • 1970-01-01
              • 2018-07-31
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2018-04-16
              • 2018-07-22
              相关资源
              最近更新 更多