РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
789 of 824 menu

Функция get_replica_context

Функция get_replica_context возвращает объект контекста реплики, в которой выполняется текущий код. Реплика - это одна из копий модели при распределенном обучении. Функция не принимает параметров. Если код выполняется вне стратегии распределения, функция возвращает None. Полученный объект содержит атрибут replica_id_in_sync_group с номером реплики и метод all_reduce для синхронизации значений между репликами.

Синтаксис

tf.distribute.get_replica_context()

Пример

Давайте получим контекст реплики внутри стратегии MirroredStrategy и выведем номер реплики:

import tensorflow as tf strategy = tf.distribute.MirroredStrategy(["CPU:0"]) with strategy.scope(): replica_context = tf.distribute.get_replica_context() print(replica_context)

Результат выполнения кода:

<tf.distribute.distribute_lib._DefaultReplicaContext object at 0x...>

Пример

Давайте выведем номер реплики через атрибут replica_id_in_sync_group:

import tensorflow as tf strategy = tf.distribute.MirroredStrategy(["CPU:0"]) with strategy.scope(): replica_context = tf.distribute.get_replica_context() print(replica_context.replica_id_in_sync_group)

Результат выполнения кода:

0

Пример

Давайте проверим, что вне стратегии распределения функция возвращает None:

import tensorflow as tf replica_context = tf.distribute.get_replica_context() print(replica_context)

Результат выполнения кода:

None

Пример

Давайте выполним суммирование значений тензора между репликами с помощью метода all_reduce:

import tensorflow as tf strategy = tf.distribute.MirroredStrategy(["CPU:0"]) with strategy.scope(): replica_context = tf.distribute.get_replica_context() t = tf.constant([1, 2, 3, 4, 5]) res = replica_context.all_reduce( tf.distribute.ReduceOp.SUM, t ) print(res)

Результат выполнения кода:

tf.Tensor([1 2 3 4 5], shape=(5,), dtype=int32)

Смотрите также

  • функцию get_strategy,
    которая возвращает текущую стратегию распределения
  • функцию has_strategy,
    которая проверяет наличие стратегии распределения
  • класс MirroredStrategy,
    который реализует синхронное распределенное обучение
  • класс OneDeviceStrategy,
    который размещает вычисления на одном устройстве
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить