Spec-Zone.ru › TensorFlow

tf.distribute.NcclAllReduce

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

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

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

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

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

tf.compat.v1.distribute.NcclAllReduce

tf.distribute.NcclAllReduce(
    num_packs=1
)

Использует Nvidia NCCL для all-reduce. Для пакетного API тензоры будут переупакованы или агрегированы для более эффективной межпроцессорной транспортировки.

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

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

strategy = tf.distribute.MirroredStrategy(
  cross_device_ops=tf.distribute.NcclAllReduce())
Аргументы
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/api_docs/python/tf/distribute/NcclAllReduce

Spec-Zone.ru

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