DynamicStitch

clase final pública DynamicStitch

Intercale los valores de los tensores de "datos" en un solo tensor.

Construye un tensor fusionado tal que

merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
 
Por ejemplo, si cada `índices[m]` es escalar o vectorial, tenemos
# Scalar indices:
     merged[indices[m], ...] = data[m][...]
 
     # Vector indices:
     merged[indices[m][i], ...] = data[m][i, ...]
 
Cada `datos[i].forma` debe comenzar con los `índices[i] correspondientes. forma`, y el resto de `datos[i].forma` debe ser constante frente a `i`. Es decir, debemos tener `datos[i].forma = índices[i].forma + constante`. En términos de esta "constante", la forma de salida es

fusionada.forma = [max(índices)] + constante

Los valores se combinan en orden, por lo que si aparece un índice tanto en `índices [m] [i]` como en `índices [n] [j]` para `(m,i) < (n,j)`, los datos del segmento [n][j]` aparecerá en el resultado combinado. Si no necesita esta garantía, ParallelDynamicStitch podría funcionar mejor en algunos dispositivos.

Por ejemplo:

indices[0] = 6
     indices[1] = [4, 1]
     indices[2] = [[5, 2], [0, 3]]
     data[0] = [61, 62]
     data[1] = [[41, 42], [11, 12]]
     data[2] = [[[51, 52], [21, 22]], [[1, 2], [31, 32]]]
     merged = [[1, 2], [11, 12], [21, 22], [31, 32], [41, 42],
               [51, 52], [61, 62]]
 
Este método se puede utilizar para fusionar particiones creadas por `dynamic_partition` como se ilustra en el siguiente ejemplo:
# Apply function (increments x_i) on elements for which a certain condition
     # apply (x_i != -1 in this example).
     x=tf.constant([0.1, -1., 5.2, 4.3, -1., 7.4])
     condition_mask=tf.not_equal(x,tf.constant(-1.))
     partitioned_data = tf.dynamic_partition(
         x, tf.cast(condition_mask, tf.int32) , 2)
     partitioned_data[1] = partitioned_data[1] + 1.0
     condition_indices = tf.dynamic_partition(
         tf.range(tf.shape(x)[0]), tf.cast(condition_mask, tf.int32) , 2)
     x = tf.dynamic_stitch(condition_indices, partitioned_data)
     # Here x=[1.1, -1., 6.2, 5.3, -1, 8.4], the -1. values remain
     # unchanged.
 

Constantes

Cadena OP_NOMBRE El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Métodos públicos

Salida <T>
como salida ()
Devuelve el identificador simbólico del tensor.
estático <T extiende TType > DynamicStitch <T>
crear ( alcance alcance, Iterable< Operando < TInt32 >> índices, Iterable< Operando <T>> datos)
Método de fábrica para crear una clase que envuelve una nueva operación DynamicStitch.
Salida <T>

Métodos heredados

Constantes

Cadena final estática pública OP_NAME

El nombre de esta operación, como lo conoce el motor central de TensorFlow.

Valor constante: "DynamicStitch"

Métodos públicos

Salida pública <T> como Salida ()

Devuelve el identificador simbólico del 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 estática pública de DynamicStitch <T> (alcance del alcance , índices Iterable < operando < TInt32 >>, datos Iterable< operando <T>>)

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

Parámetros
alcance alcance actual
Devoluciones
  • una nueva instancia de DynamicStitch

Salida pública <T> fusionada ()