【问题标题】:Does tensorflow automatically detect GPU or do I have to specify it manually?tensorflow 是自动检测 GPU 还是我必须手动指定它?
【发布时间】:2017-07-05 12:00:26
【问题描述】:

我有一个用 tensorflow 编写的代码,我在 CPU 上运行,它运行良好。 我正在转移到一台具有 GPU 的新机器上,我在新机器上运行代码,但训练速度没有按预期提高(几乎花费了相同的时间)。

我了解 Tensorflow 会自动检测 GPU 并在其上运行操​​作 (https://www.quora.com/How-do-I-automatically-put-all-my-computation-in-a-GPU-in-TensorFlow) 和 (https://www.tensorflow.org/tutorials/using_gpu)。

我是否必须更改代码以使其在 GPU 上手动运行操作(目前我只有一个 GPU)?手动执行此操作会获得什么?

谢谢

【问题讨论】:

  • 除了@Nicolas 回答之外,通过输入sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)),您可以检查每个节点关联到哪个设备。

标签: tensorflow gpu


【解决方案1】:

如果安装了 GPU 版本的 TensorFlow,并且您没有将所有张量分配给 CPU,则应将其中一些张量分配给 GPU。

要了解哪些设备(CPU、GPU)可用于 TensorFlow,您可以使用:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

关于性能问题,这是一个相当广泛的主题,它实际上取决于您的模型、您的数据等。 Here 是对 TensorFlow 性能的一些广泛评论。

【讨论】:

  • 是的,GPU 版本是已安装的版本。但是,如果我手动分配,我会得到什么吗?
  • 你可以得到..或没有。这实际上取决于您的模型、操作等。
猜你喜欢
  • 2020-03-23
  • 1970-01-01
  • 2022-09-29
  • 1970-01-01
  • 2013-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
  • 2012-01-22
相关资源
最近更新 更多