我有一台云端上有4个GPU的机器。我怎样才能使我的tf计数器利用机器上的GPU?我能利用所有的估计量吗?
发布于 2017-11-01 14:34:56
目前,没有一个预先做好的估计器(如DNNClassifier)能处理多个GPU --所有的计算都将发生在一个GPU上。
更新2018/07/18* (基于墓碑文章):DistributionStrategy简化了在多个GPU上运行的“自定义”估计器的创建。
“自定义”估计器是您编写的估计器。因此,他们可以做任何你想做的事情,包括利用多个GPU。在这种情况下,您只需确保使用适当的model_fn语句编写tf.device,以便将操作系统分配给正确的GPU(当您有多个GPU时,您需要手动分配操作系统的TensorFlow 需要 )。这通常涉及塔楼的使用,这意味着在每个GPU上重复模型结构。来自TensorFlow 文档
# 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))上面的方法通常运行良好,但是如果您想进一步优化性能,请参阅此高级指南。
CIFAR-10样本演示了如何在估计器中使用多个GPU进行图像分类。
https://stackoverflow.com/questions/47049591
复制相似问题