【问题标题】:Distributed Tensorflow with model parallelism and nodes storing variables具有模型并行性和节点存储变量的分布式 Tensorflow
【发布时间】:2018-05-11 11:52:10
【问题描述】:

想象以下场景,其中我有一个模型计算图非常大,不适合单台机器。因此,我想在两台机器之间拆分计算图。此外,我希望进行计算的机器也存储他们修改/读取的变量(我不想设置额外的参数服务器,我假设模型图分区访问的变量集是不相交的)。

您能否提供一个示例,我可以使用分布式 Tensorflow 实现此配置,例如使用原语 tf.device()

【问题讨论】:

    标签: tensorflow


    【解决方案1】:

    查看 tensorflow 网站 (https://www.tensorflow.org/deploy/distributed) 上的说明。

    使用tf.device('/job:worker/task:1') 将节点放置在一台或另一台机器上。您可以随意放置它们,只需注意放置在不同机器上的输入将需要通过网络发送数据。

    据我所知,您无法摆脱参数服务器。参数服务器只是一个处理变量更新的作业。没有什么可以阻止您在与 tensorflow 相同的机器上运行该作业。因此,您的设置是在两台机器上启动 tensorflow,并在每台机器上放置一个参数服务器。只需确保将变量放置在本地参数服务器上(同样使用 tf.device)。

    【讨论】:

      猜你喜欢
      • 2016-06-24
      • 1970-01-01
      • 2015-07-21
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 2018-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多