Spec-Zone.ru › TensorFlow 2.9

tf.distribute.HierarchicalCopyAllReduce

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

Реализация Hierarchical copy all-reduce для CrossDeviceOps.

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

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

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

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

tf.compat.v1.distribute.HierarchicalCopyAllReduce

tf.distribute.HierarchicalCopyAllReduce(
    num_packs=1
)

Выполняется сведение к одному GPU по связям в определенной иерархии и последующее распределение результата обратно на каждый GPU по тому же пути. Для пакетного API тензоры будут переупакованы или агрегированы для более эффективной меж-устройственной транспортировки.

Это операция сведения, разработанная для Nvidia DGX-1, предполагающая, что GPU подключены так же, как на машине DGX-1. Если у вас разные меж-GPU подключения, возможно, она будет медленнее, чем tf.distribute.ReductionToOneDevice.

Для операций сведения, которые не являются all-reduce, используется tf.distribute.ReductionToOneDevice.

Вот как можно использовать HierarchicalCopyAllReduce в tf.distribute.MirroredStrategy:

strategy = tf.distribute.MirroredStrategy(
  cross_device_ops=tf.distribute.HierarchicalCopyAllReduce())
Аргументы
num_packs неотрицательное целое число. Количество пакетов для разделения значений. Если ноль, упаковка не будет выполнена.
Исключения
ValueError, если num_packs отрицательно.

Методы

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/HierarchicalCopyAllReduce

Spec-Zone.ru

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