【问题标题】:By default, does TensorFlow use GPU/CPU simultaneously for computing or GPU only?默认情况下,TensorFlow 是同时使用 GPU/CPU 进行计算还是仅使用 GPU?
【发布时间】:2019-04-03 13:27:30
【问题描述】:

默认情况下,TensorFlow 将使用我们可用的 GPU 设备。也就是说,TensorFlow 是同时使用 GPU 和 CPU 进行 计算,还是使用 GPU 进行计算和 CPU 进行作业处理(无论如何,我认为 CPU 始终处于活动状态) ?

【问题讨论】:

  • 这取决于很多因素。但是,如果您的管道是正确的,则数据增强是在 CPU 中,而 GPU 正在计算批次。您可以使用 htop、nvidia-smi 监控它并检查内存吞吐量 - 很容易找到瓶颈。

标签: tensorflow parallel-processing deep-learning gpu


【解决方案1】:

TensorFlow 操作随附一个可在其上执行的设备列表以及相关优先级列表。

例如,卷积非常有利于在 GPU 上进行计算;但仍然可以在 CPU 上完成,而标量加法绝对应该在 CPU 上完成。您可以使用 tf.Device 和附加到感兴趣设备的密钥覆盖此选择。

【讨论】:

    【解决方案2】:

    通常它同时使用 CPU 和 GPU(假设您使用的是支持 GPU 的 TensorFlow)。实际使用的内容取决于您的代码正在使用的实际操作。

    对于 TensorFlow 中可用的每个操作,此类操作都有多个“实现”,通常是 CPU 实现和 GPU 实现。有些操作只有 CPU 实现,因为它对 GPU 实现没有意义,但总体而言,大多数操作都适用于两种设备。

    如果您进行自定义操作,那么您需要提供您想要的实现。

    【讨论】:

      【解决方案3】:

      如果我错了,有人纠正我。

      但据我所知,TensorFlow 仅使用 GPU 或 CPU,具体取决于您运行的安装。例如,如果您将 pip install TensorFlow 用于 python 2 或 python3 -m pip install TensorFlow 用于 python 3,您将使用 CPU 版本。

      GPU 反之亦然。

      如果您仍有任何问题,或者如果这没有正确回答您的问题,请随时向我提问。

      【讨论】:

      • 你错了——GPU版本也支持CPU。查看官方文档,它指出:“如果 TensorFlow 操作同时具有 CPU 和 GPU 实现,则默认情况下,当操作分配给设备时,GPU 设备将被优先考虑。” tensorflow.org/guide/gpu
      猜你喜欢
      • 2016-04-22
      • 2017-10-15
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      相关资源
      最近更新 更多