Spec-Zone.ru › TensorFlow

tf.distribute.CrossDeviceOps

Базовый класс для алгоритмов сокращения и широковещательной передачи между устройствами.

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

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

Подробнее см. в руководстве по миграции.

tf.compat.v1.distribute.CrossDeviceOps

tf.distribute.CrossDeviceOps()

Основное назначение этого класса — передавать его в tf.distribute.MirroredStrategy, чтобы выбрать одну из различных реализаций межустройственного обмена данными. Предпочтительно использовать методы tf.distribute.Strategy, а не методы этого класса.

Реализации:

  • tf.distribute.ReductionToOneDevice
  • tf.distribute.NcclAllReduce
  • tf.distribute.HierarchicalCopyAllReduce

Методы

batch_reduce

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

batch_reduce(
    reduce_op, value_destination_pairs, options=None
)

Сокращает значения и распределяет их по целям пакетами.

См. tf.distribute.StrategyExtended.batch_reduce_to. Этот метод можно вызывать только в контексте cross-replica.

Аргументы
reduce_op tf.distribute.ReduceOp, указывающий, как следует объединять значения.
value_destination_pairs последовательность пар (value, destinations). Описания см. в разделе 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 и целевых объектов.

batch_reduce_implementation

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

batch_reduce_implementation(
    reduce_op, value_destination_pairs, options
)

Реализация batch_reduce.

Переопределение этого метода полезно при реализации подкласса.

Аргументы
reduce_op tf.distribute.ReduceOp, указывающий, как следует объединять значения.
value_destination_pairs последовательность пар (value, destinations). Описания см. в 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.

Этот метод можно вызывать только в контексте cross-replica.

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

broadcast_implementation

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

broadcast_implementation(
    tensor, destinations
)

Реализация broadcast.

Аргументы
tensor объект, подобный tf.Tensor. Значение для распространения.
destinations tf.distribute.DistributedValues, tf.Variable, объект, подобный tf.Tensor, или строка с указанием устройства. Определяет устройства, на которые нужно распространить значение. destinations. Обратите внимание: если передан объект 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. Этот метод можно вызывать только в контексте cross-replica.

Аргументы
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.

reduce_implementation

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

reduce_implementation(
    reduce_op, per_replica_value, destinations, options
)

Реализация reduce.

Переопределение этого метода полезно при реализации подкласса.

Аргументы
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/CrossDeviceOps

Spec-Zone.ru

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