如何在tf贡献估算器中使用GPU

时间:2017-11-01 06:47:18

标签: tensorflow tensorflow-gpu google-cloud-ml

我有一台4 gpus on cloud ml的机器。如何让我的tf贡献估算器在机器上使用GPU?我可以让估算师利用所有这些吗?

1 个答案:

答案 0 :(得分:3)

估算器有两种类型:" pre-made"和" custom"。

目前使用多个GPU的预制估算器(例如DNNClassifier)都没有 - 所有计算都将在单个GPU上进行。

更新2018/07/18 * (基于墓碑'帖子):DistributionStrategy简化了创建" custom"在多个GPU上运行的估算器。

"自定义"估计量是你写的估计量。因此,他们可以做任何你想做的事情,包括利用多个GPU。在这种情况下,您只需确保使用相应的model_fn语句编写tf.device以将操作分配给正确的GPU(TensorFlow requires,当您有多个操作时,您可以手动分配操作图形处理器)。这通常涉及towers的使用,这意味着在每个GPU上重复模型结构。来自TensorFlow docs

# Creates a graph.
c = []
for d in ['/gpu:2', '/gpu:3']:
  with tf.device(d):
    a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3])
    b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2])
    c.append(tf.matmul(a, b))

上述情况通常效果很好,但如果您想进一步优化效果,请参阅此advanced guide

CIFAR-10 sample演示了在估算器中使用多个GPU进行图像分类。

相关问题