Spec-Zone.ru › TensorFlow 2.4

tf.distribute.get_replica_context

Просмотреть исходный код на GitHub

Возвращает текущий tf.distribute.ReplicaContext или None.

Просмотр псевдонимов

Псевдонимы для миграции

Дополнительные сведения см. в руководстве по миграции.

tf.compat.v1.distribute.get_replica_context

tf.distribute.get_replica_context()

Возвращает None при работе в контексте между репликами.

Обратите внимание на выполнение:

  1. начинается в контексте реплики по умолчанию (с одной репликой) (эта функция вернёт объект по умолчанию ReplicaContext);
  2. переключается на контекст между репликами (в этом случае эта функция вернёт None) при входе в блок with tf.distribute.Strategy.scope():;
  3. переключается на (непосредственный) контекст реплики внутри strategy.run(fn, ...);
  4. если 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.run(f)
Возвращаемое значение
Текущий объект tf.distribute.ReplicaContext, когда вы находитесь в области действия контекста реплики, в противном случае None.

Внутри конкретного блока одно из этих двух условий всегда истинно:

  • get_replica_context() возвращает не-None, или
  • tf.distribute.is_cross_replica_context() возвращает True.

© 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/r2.4/api_docs/python/tf/distribute/get_replica_context

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API