作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在云 ml 上有一台带 4 个 GPU 的机器。如何让我的 tf contrib 估算器使用机器上的 GPU?我可以让估算器使用所有这些吗?
最佳答案
有两种类型的估算器:“pre-made ”和“custom ”。
没有任何预制估算器(例如 DNNClassifier),目前可以与多个 GPU 一起工作——所有计算都将在单个 GPU 上进行。
UPDATE 2018/07/18*(基于墓碑的帖子):DistributionStrategy简化了创建在多个 GPU 上运行的“自定义”估算器的过程。
“自定义”估算器是您编写的估算器。因此,他们可以做任何您想做的事情,包括利用多个 GPU。在这种情况下,您只需确保使用适当的 tf.device
语句编写您的 model_fn
以将操作分配给正确的 GPU(TensorFlow requires 您手动当你有多个 GPU 时分配操作)。这通常涉及使用 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 进行图像分类。
关于tensorflow - 如何在 tf contrib estimator 中使用 GPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47049591/
我是一名优秀的程序员,十分优秀!