返回当前的 tf.distribute.ReplicaContext
或 None
。
用法
tf.distribute.get_replica_context()
返回
-
目前的tf.distribute.ReplicaContext在副本上下文范围内时的对象,否则
None
.在一个特定的块中,这两种情况中的一种将是正确的:
get_replica_context()
返回非None
,或tf.distribute.is_cross_replica_context()
返回真。
如果在 cross-replica 上下文中,则返回 None
。
注意执行:
- 在默认 (single-replica) 副本上下文中启动(此函数将返回默认的
ReplicaContext
对象); - 进入
with tf.distribute.Strategy.scope():
块时切换到 cross-replica 上下文(在这种情况下,这将返回None
); - 切换到
strategy.run(fn, ...)
内的(非默认)副本上下文; - 如果
fn
调用get_replica_context().merge_call(merge_fn, ...)
,那么在merge_fn
中,您将返回 cross-replica 上下文(此函数将再次返回None
)。
大多数tf.distribute.Strategy
方法只能在cross-replica 上下文中执行,在副本上下文中,您应该改用此方法返回的tf.distribute.ReplicaContext
对象的API。
assert tf.distribute.get_replica_context() is not None # default
with strategy.scope():
assert tf.distribute.get_replica_context() is None
def f():
replica_context = tf.distribute.get_replica_context() # for strategy
assert replica_context is not None
tf.print("Replica id:", replica_context.replica_id_in_sync_group,
" of ", replica_context.num_replicas_in_sync)
strategy.run(f)
相关用法
- Python tf.distribute.get_strategy用法及代码示例
- Python tf.distribute.OneDeviceStrategy.experimental_distribute_values_from_function用法及代码示例
- Python tf.distribute.TPUStrategy用法及代码示例
- Python tf.distribute.experimental_set_strategy用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy.gather用法及代码示例
- Python tf.distribute.cluster_resolver.TFConfigClusterResolver用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy用法及代码示例
- Python tf.distribute.TPUStrategy.experimental_assign_to_logical_device用法及代码示例
- Python tf.distribute.NcclAllReduce用法及代码示例
- Python tf.distribute.OneDeviceStrategy.experimental_distribute_dataset用法及代码示例
- Python tf.distribute.experimental.rpc.Server.create用法及代码示例
- Python tf.distribute.experimental.MultiWorkerMirroredStrategy.experimental_distribute_dataset用法及代码示例
- Python tf.distribute.OneDeviceStrategy.gather用法及代码示例
- Python tf.distribute.MirroredStrategy.reduce用法及代码示例
- Python tf.distribute.Strategy.scope用法及代码示例
- Python tf.distribute.TPUStrategy.reduce用法及代码示例
- Python tf.distribute.experimental.partitioners.Partitioner.__call__用法及代码示例
- Python tf.distribute.DistributedIterator.get_next用法及代码示例
- Python tf.distribute.Strategy.experimental_distribute_values_from_function用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.distribute.get_replica_context。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。