python - TensorFlow 放置算法

标签 python algorithm tensorflow distributed

我想知道 TensorFlow 的放置算法(如白皮书所述)何时真正被使用。到目前为止,我看到的所有分发 TensorFlow 的示例似乎都使用 tf.device() 手动指定节点应该在何处执行。

最佳答案

TensorFlow whitepaper 的第 3.2.1 节中描述的动态放置算法未包含在开源版本中。相反,使用了“简单放置器”(其实现可以在 simple_placer.cc 中找到),但它需要一些明确的注释(通过 tf.device() )来使 yield 成为一个有效的放置。更高级别的构造,如 tf.train.replica_device_setter()包装 tf.device() 以指定通用策略,例如“跨参数服务器共享变量,否则将所有操作放在工作设备上”,我们在 distributed training 中广泛使用它.

在实践中,我们发现一小组注释通常会产生比动态放置器确定的更有效的放置,但改进放置算法仍然是一个活跃的研究领域。

关于python - TensorFlow 放置算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38664942/

相关文章:

algorithm - 如何将 "snap"方向(2D)矢量指向罗盘(N、NE、E、SE、S、SW、W、NW)?

php - 自然语言处理的正则表达式 "does not contain"模式问题

python - 我的模型的损失值为 0,但它只是将所有输入分类到同一类,这是怎么回事?

python - 如果条件输出改变,用@tf.function 装饰

python - 如何手动打开Python同时写入的文件?

python - 如何获取当前的 PyInterpreterState?

c++ - 删除二叉搜索树中的节点

tensorflow - 我可以在 Keras 顺序模型中添加 Tensorflow 假量化吗?

python - 来自一个输入的多个输入

python - 了解非平凡情况下生成器内部的 StopIteration 处理