Spec-Zone.ru › TensorFlow 2.9

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.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/distribute/get_replica_context

Spec-Zone.ru

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