Spec-Zone.ru › TensorFlow

tf.distribute.HierarchicalCopyAllReduce

Реализация иерархического копирования all-reduce для CrossDeviceOps.

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

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

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

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

tf.compat.v1.distribute.HierarchicalCopyAllReduce

tf.distribute.HierarchicalCopyAllReduce(
    num_packs=1
)

Использование в блокнотах

Используется в руководстве
  • Распределенное обучение с TensorFlow

Он сводится к одному 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/api_docs/python/tf/distribute/HierarchicalCopyAllReduce

Spec-Zone.ru

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