我想知道TensorFlow的放置算法(如白皮书中所述)何时实际使用。到目前为止我分发的所有分发TensorFlow的示例似乎都是使用“tf.device()”手动指定应该在哪里执行节点。
答案 0 :(得分:4)
TensorFlow whitepaper的第3.2.1节中描述的动态放置算法未包含在开源版本中。相反,使用“简单的放置器”(其实现可以在simple_placer.cc
中找到),但它需要一些显式注释(通过tf.device()
)来使yield成为有效的放置。像tf.train.replica_device_setter()
这样的高级结构包装tf.device()
来指定常见的策略,例如“在参数服务器之间对变量进行分片,否则将所有操作都放在工作设备上”,我们在{{3}中广泛使用它}}
在实践中,我们发现一小部分注释通常会产生比动态放置器更有效的放置,但改进放置算法仍然是一个积极研究的领域。