tf.distribute.ReductionToOneDevice
| Посмотреть исходный код на GitHub |
Сначала выполняется сокращение до одного устройства, а затем — широковещательная рассылка.
Наследуется от: CrossDeviceOps
tf.distribute.ReductionToOneDevice(
reduce_to_device=None, accumulation_fn=None
)
Сведение по партиям выполняется путём сведения по каждому элементу по одному.
mirrored_strategy = tf.distribute.MirroredStrategy( cross_device_ops=tf.distribute.ReductionToOneDevice())
| Аргументы | |
|---|---|
reduce_to_device |
Промежуточное устройство для сокращения. Если None, сокращение выполняется на первом устройстве в destinations метода reduce(). |
accumulation_fn |
Функция, выполняющая накопление. Если None, используется tf.math.add_n. |
Методы
batch_reduce
batch_reduce(
reduce_op, value_destination_pairs, experimental_hints=None
)
Сведение объектов PerReplica в партии.
Сведение каждого первого элемента в value_destination_pairs к каждому второму элементу, указывающему на места назначения.
Это может быть быстрее, чем несколько отдельных reduceов, так как мы можем объединить несколько тензоров в один или несколько пакетов перед сокращением.
| Аргументы | |
|---|---|
reduce_op |
Экземпляр tf.distribute.ReduceOp, указывающий, как будут сводиться per_replica_value. |
value_destination_pairs |
Список или кортеж объектов PerReplica (или тензоров с заданным устройством, если устройство одно) и мест назначения. |
experimental_hints |
tf.distrbute.experimental.CollectiveHints. Подсказки для выполнения коллективных операций. |
| Возвращаемое значение | |
|---|---|
| список объектов Mirrored. |
| Исключения | |
|---|---|
ValueError |
если value_destination_pairs не является итерируемым кортежем объектов PerReplica и мест назначения. |
broadcast
broadcast(
tensor, destinations
)
Распространение tensor на места назначения.
| Аргументы | |
|---|---|
tensor |
Тензор для распространения. |
destinations |
Места назначения для распространения. |
| Возвращаемое значение | |
|---|---|
| объект Mirrored. |
reduce
reduce(
reduce_op, per_replica_value, destinations, experimental_hints=None
)
Сведение per_replica_value к destinations.
Выполняет операцию сведения, определённую reduce_op, и помещает результат в destinations.
| Аргументы | |
|---|---|
reduce_op |
Экземпляр tf.distribute.ReduceOp, указывающий, как будет сводиться per_replica_value. |
per_replica_value |
Объект tf.distribute.DistributedValues или тензор с заданным устройством. |
destinations |
Места назначения для сведения. |
experimental_hints |
tf.distrbute.experimental.CollectiveHints. Подсказки для выполнения коллективных операций. |
| Возвращаемое значение | |
|---|---|
| объект Mirrored. |
| Исключения | |
|---|---|
ValueError |
если per_replica_value нельзя преобразовать в объект PerReplica или если места назначения не являются строками, переменными или 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.3/api_docs/python/tf/distribute/ReductionToOneDevice