tf.distribute.CrossDeviceOps

View source on GitHub

Base class for cross-device reduction and broadcasting algorithms.

tf.distribute.CrossDeviceOps()

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.

This can be faster than multiple individual reduces because we can fuse several tensors into one or multiple packs before reduction.

Args:

Returns:

a list of Mirrored objects.

Raises:

batch_reduce_implementation

View source

batch_reduce_implementation(
    reduce_op, value_destination_pairs
)

Implementation of reduce PerReplica objects in a batch.

Overriding this method is useful for subclass implementers.

Reduce each first element in value_destination_pairs to each second element which indicates the destinations.

Args:

Returns:

a list of Mirrored objects.

Raises:

broadcast

View source

broadcast(
    tensor, destinations
)

Broadcast the tensor to destinations.

Args:

Returns:

a Mirrored object.

broadcast_implementation

View source

broadcast_implementation(
    tensor, destinations
)

Implementation of broadcast the tensor to destinations.

Args:

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.

Args:

Returns:

a Mirrored object.

Raises:

reduce_implementation

View source

reduce_implementation(
    reduce_op, per_replica_value, destinations
)

The implementation of reduce of per_replica_value to destinations.

Overriding this method is useful for subclass implementers.

It runs the reduction operation defined by reduce_op and put the result on destinations.

Args:

Returns:

a Mirrored object.

Raises: