当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.distribute.experimental.CommunicationOptions用法及代码示例


跨设备通信的选项,例如All-reduce。

用法

tf.distribute.experimental.CommunicationOptions(
    bytes_per_pack=0, timeout_seconds=None,
    implementation=tf.distribute.experimental.CollectiveCommunication.AUTO
)

参数

抛出

  • ValueError 当参数具有无效值时。

这可以传递给 tf.distribute.get_replica_context().all_reduce() 等方法以优化集体操作性能。请注意,这些只是提示,可能会也可能不会改变实际行为。某些选项仅适用于某些策略,而被其他选项忽略。

一种常见的优化是将梯度all-reduce分成多个包,以便权重更新可以与梯度all-reduce重叠。

例子:

options = tf.distribute.experimental.CommunicationOptions(
    bytes_per_pack=50 * 1024 * 1024,
    timeout_seconds=120.0,
    implementation=tf.distribute.experimental.CommunicationImplementation.NCCL
)
grads = tf.distribute.get_replica_context().all_reduce(
    'sum', grads, options=options)
optimizer.apply_gradients(zip(grads, vars),
    experimental_aggregate_gradients=False)

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.distribute.experimental.CommunicationOptions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。