AllToAll

clase final pública AllToAll

Una operación para intercambiar datos entre réplicas de TPU.

En cada réplica, la entrada se divide en bloques `split_count` a lo largo de `split_dimension` y se envía a las otras réplicas dada la asignación_grupo. Después de recibir `split_count` - 1 bloques de otras réplicas, concatenamos los bloques a lo largo de `concat_dimension` como salida.

Por ejemplo, supongamos que hay 2 réplicas de TPU: la réplica 0 recibe la entrada: `[[A, B]]` la réplica 1 recibe la entrada: `[[C, D]]`

group_assignment=`[[0, 1]]` concat_dimension=0 split_dimension=1 split_count=2

Salida de la réplica 0: `[[A], [C]]` Salida de la réplica 1: `[[B], [D]]`

Métodos públicos

Salida <T>
como salida ()
Devuelve el identificador simbólico de un tensor.
estático <T> Todos a todos <T>
crear (alcance del alcance , entrada del operando <T>, asignación de grupo del operando <entero>, dimensión concat larga, dimensión dividida larga, cuenta dividida larga)
Método de fábrica para crear una clase que envuelve una nueva operación AllToAll.
Salida <T>
producción ()
El resultado intercambiado.

Métodos heredados

Métodos públicos

Salida pública <T> como Salida ()

Devuelve el identificador simbólico de un tensor.

Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

creación pública estática AllToAll <T> (alcance del alcance , entrada del operando <T>, asignación de grupo del operando <Integer>, dimensión concat larga, dimensión dividida larga, cuenta dividida larga)

Método de fábrica para crear una clase que envuelve una nueva operación AllToAll.

Parámetros
alcance alcance actual
aporte La entrada local a la suma.
asignación grupal Un tensor int32 con forma [num_groups, num_replicas_per_group]. `group_assignment[i]` representa los identificadores de réplica en el subgrupo i.
concatDimensión El número de dimensión que se va a concatenar.
dimensión dividida El número de dimensión que se va a dividir.
dividirContar El número de divisiones, este número debe ser igual al tamaño del subgrupo (group_assignment.get_shape()[1])
Devoluciones
  • una nueva instancia de AllToAll

Salida pública <T> salida ()

El resultado intercambiado.