tf.distribute.get_replica_context
| Просмотреть исходный код на GitHub |
Возвращает текущий tf.distribute.ReplicaContext или None.
tf.distribute.get_replica_context()
Возвращает None при выполнении в межреплицируемом контексте.
Обратите внимание, что выполнение:
- начинается в стандартном (однореплицируемом) реплицируемом контексте (эта функция вернет стандартный
ReplicaContextобъект); - переключается на межреплицируемый контекст (в этом случае эта функция вернёт
None), при входе вwith tf.distribute.Strategy.scope():блок; - переключается на (нестандартный) реплицируемый контекст внутри
strategy.experimental_run_v2(fn, ...); - если
fnвызываетget_replica_context().merge_call(merge_fn, ...), то внутриmerge_fnвы возвращаетесь в межреплицируемый контекст (и снова эта функция вернётNone).
Большинство методов tf.distribute.Strategy могут выполняться только в межреплицируемом контексте; в реплицируемом контексте следует использовать API объекта tf.distribute.ReplicaContext, возвращаемого этой функцией.
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.experimental_run_v2(f)
| Возвращает | |
|---|---|
Текущий объект tf.distribute.ReplicaContext при выполнении в области реплицируемого контекста, иначе None. В рамках конкретного блока одно из этих двух утверждений будет истинным:
|
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/distribute/get_replica_context