Spec-Zone.ru › TensorFlow 2.9

tf.distribute.ReductionToOneDevice

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

Реализация CrossDeviceOps, копирующая значения на один узел для уменьшения.

Наследуется от: CrossDeviceOps

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

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

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.distribute.ReductionToOneDevice

tf.distribute.ReductionToOneDevice(
    reduce_to_device=None, accumulation_fn=None
)

Эта реализация всегда копирует значения на один узел, чтобы уменьшить их, а затем транслирует уменьшенные значения на целевые узлы. Она не поддерживает эффективное пакетное выполнение.

Вот как вы можете использовать ReductionToOneDevice в tf.distribute.MirroredStrategy:

strategy = tf.distribute.MirroredStrategy(
  cross_device_ops=tf.distribute.ReductionToOneDevice())
Аргументы
reduce_to_device промежуточный узел для уменьшения. Если None, уменьшение выполняется на первом узле в destinations метода reduce.
accumulation_fn функция аккумулирования. Если None, используется tf.math.add_n.

Методы

batch_reduce

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

batch_reduce(
    reduce_op, value_destination_pairs, options=None
)

Уменьшение значений до целевых узлов в пакетах.

См. tf.distribute.StrategyExtended.batch_reduce_to. Это может быть вызвано только в контексте межреплицированного выполнения.

Аргументы
reduce_op tf.distribute.ReduceOp определяющий способ объединения значений.
value_destination_pairs последовательность пар (значение, узлы назначения). См. tf.distribute.CrossDeviceOps.reduce для описаний.
options tf.distribute.experimental.CommunicationOptions. См. tf.distribute.experimental.CommunicationOptions для подробностей.
Возвращаемое значение
Список tf.Tensor или tf.distribute.DistributedValues, по одному для каждой пары в value_destination_pairs.
Исключения
ValueError если value_destination_pairs не является итерируемым набором кортежей tf.distribute.DistributedValues и узлов назначения.

broadcast

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

broadcast(
    tensor, destinations
)

Трансляция tensor на destinations.

Это может быть вызвано только в контексте межреплицированного выполнения.

Аргументы
tensor объект типа tf.Tensor. Значение для трансляции.
destinations tf.distribute.DistributedValues, tf.Variable, tf.Tensor, или строка узла. Определяет узлы для трансляции. Обратите внимание, что если это tf.Variable, значение транслируется на узлы этой переменной; этот метод не обновляет переменную.
Возвращаемое значение
tf.Tensor или tf.distribute.DistributedValues.

reduce

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

reduce(
    reduce_op, per_replica_value, destinations, options=None
)

Уменьшение per_replica_value до destinations.

См. tf.distribute.StrategyExtended.reduce_to. Это может быть вызвано только в контексте межреплицированного выполнения.

Аргументы
reduce_op tf.distribute.ReduceOp указывающий, как следует комбинировать значения.
per_replica_value tf.distribute.DistributedValues или объект типа tf.Tensor.
destinations tf.distribute.DistributedValues, tf.Variable, tf.Tensor или строка устройства. Указывает устройства для сокращения. Для выполнения all-reduce передайте одинаковые значения в value и destinations. Обратите внимание, что если это tf.Variable, значение уменьшается до устройств этой переменной, и этот метод не обновляет переменную.
options tf.distribute.experimental.CommunicationOptions. Подробнее см. tf.distribute.experimental.CommunicationOptions.
Возвращаемое значение
tf.Tensor или tf.distribute.DistributedValues.
Исключения
ValueError если per_replica_value нельзя преобразовать в tf.distribute.DistributedValues или если destinations не является строкой, tf.Variable или tf.distribute.DistributedValues.

© 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/ReductionToOneDevice

Spec-Zone.ru

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