tf.distribute.NcclAllReduce
Редукция с помощью NCCL all-reduce.
Наследуется от: AllReduceCrossDeviceOps
tf.distribute.NcclAllReduce(
num_packs=1
)
| Аргументы |
num_packs | значения будут упакованы в столько частей. num_packs должно быть больше или равно 0. Когда оно равно нулю, никакой упаковки не выполняется. |
| Возбуждает |
ValueError, если num_packs отрицательное. |
Методы
batch_reduce
Просмотреть исходный код
batch_reduce(
reduce_op, value_destination_pairs
)
Выполнить редукцию объектов PerReplica в пакете.
Свести каждый первый элемент в value_destination_pairs к каждому второму элементу, который указывает на места назначения.
| Аргументы |
reduce_op | Указывает, как будет выполнена редукция per_replica_value. Допустимые значения — tf.distribute.ReduceOp.SUM, tf.distribute.ReduceOp.MEAN. |
value_destination_pairs | список или кортеж кортежей объектов PerReplica (или тензоров с заданным устройством, если есть одно устройство) и мест назначения. |
| Возвращает |
| список объектов Mirrored. |
| Возбуждает |
ValueError | если value_destination_pairs не является списком или кортежем кортежей объектов PerReplica и мест назначения |
broadcast
Просмотреть исходный код
broadcast(
tensor, destinations
)
Распространить tensor на места назначения.
| Аргументы |
tensor | тензор для распространения. |
destinations | места назначения для распространения. |
| Возвращает |
| объект Mirrored. |
reduce
Просмотреть исходный код
reduce(
reduce_op, per_replica_value, destinations
)
Свести per_replica_value к destinations.
Выполняет операцию редукции, определённую в reduce_op, и помещает результат в destinations.
| Аргументы |
reduce_op | Указывает, как будет выполнена редукция per_replica_value. Допустимые значения — tf.distribute.ReduceOp.SUM, tf.distribute.ReduceOp.MEAN. |
per_replica_value | объект PerReplica или тензор с заданным устройством. |
destinations | места назначения для редукции. |
| Возвращает |
| объект Mirrored. |
| Возбуждает |
ValueError | если per_replica_value нельзя преобразовать в объект PerReplica. |