Spec-Zone.ru › TensorFlow 2.4

tf.distribute.HierarchicalCopyAllReduce

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

Реализация иерархического копирования 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.

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

Spec-Zone.ru

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