首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义tf.estimator的云ML引擎分布式训练默认类型

自定义tf.estimator的云ML引擎分布式训练默认类型
EN

Stack Overflow用户
提问于 2017-08-31 16:51:51
回答 2查看 285关注 0票数 0

文章建议有三种可供选择的分布式培训

  1. 具有同步更新的数据并行培训。
  2. 数据-具有异步更新的并行培训。
  3. 模式并行训练。

然后,本教程建议下面的代码在Cloud引擎上使用异步更新执行数据并行培训,该引擎的行为是“如果在10个工作节点中分发10,000个批,每个节点大约在1,000批上工作”。

但是,尚不清楚代码的哪一部分实际上指定这是使用异步更新的数据并行培训。如果您使用自定义tf.estimator在分布式培训模式下运行ML引擎,这仅仅是它的默认吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-31 18:39:09

简单的回答是,tf.estimator目前主要是围绕数据并行培训(2)构建的。

您只需在代码中使用with tf.device()语句就可以得到模型并行培训。

您可以尝试使用SyncReplicasOptimizer并可能完成同步培训(1)。

所有这些都一般适用于tf.estimator;对于CloudML引擎来说没有什么不同。

票数 1
EN

Stack Overflow用户

发布于 2017-08-31 17:22:43

云ML引擎不能决定分布式训练的模式。这取决于用户如何使用TensorFlow库设置培训。在本文链接的mnist示例中,代码使用TF学习类,特别是在model.py中构造了一个估计器。

该代码选择优化器,在本例中,优化器是使用异步更新的AdamOptimizer。如果您想要进行同步更新,则必须使用不同的优化器,如SyncReplicasOptimizer。

有关如何设置同步培训的详细信息,请参阅此文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45986578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档