tf.contrib.distribute.AllReduceCrossDeviceOps
Reduction using all-reduce.
Inherits From: CrossDeviceOps
tf.contrib.distribute.AllReduceCrossDeviceOps(
all_reduce_alg='nccl', num_packs=1, agg_small_grads_max_bytes=0,
agg_small_grads_max_group=10
)
| Args |
all_reduce_alg | the all-reduce algorithm to use, currently only "nccl" or "hierarchical_copy" are supported. |
num_packs | see above. |
agg_small_grads_max_bytes | see above. |
agg_small_grads_max_group | see above. |
Methods
batch_reduce
View source
batch_reduce(
reduce_op, value_destination_pairs
)
Reduce PerReplica objects in a batch.
Reduce each first element in value_destination_pairs to each second element which indicates the destinations.
| Args |
reduce_op | Indicates how per_replica_value will be reduced. Accepted values are tf.distribute.ReduceOp.SUM, tf.distribute.ReduceOp.MEAN. |
value_destination_pairs | a list or a tuple of tuples of PerReplica objects (or tensors with device set if there is one device) and destinations. |
| Returns |
| a list of Mirrored objects. |
| Raises |
ValueError | if value_destination_pairs is not a list or a tuple of tuples of PerReplica objects and destinations |
broadcast
View source
broadcast(
tensor, destinations
)
Broadcast the tensor to destinations.
| Args |
tensor | the tensor to broadcast. |
destinations | the broadcast destinations. |
| Returns |
| a Mirrored object. |
reduce
View source
reduce(
reduce_op, per_replica_value, destinations
)
Reduce per_replica_value to destinations.
It runs the reduction operation defined by reduce_op and put the result on destinations.
| Returns |
| a Mirrored object. |
| Raises |
ValueError | if per_replica_value can't be converted to a PerReplica object. |