Spec-Zone.ru › TensorFlow 2.3

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.3/api_docs/python/tf/distribute/get_replica_context

Spec-Zone.ru

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