ParallelDynamicStitch

classe finale publique ParallelDynamicStitch

Entrelacez les valeurs des tenseurs « données » en un seul tenseur.

Construit un tenseur fusionné tel que

merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
 
Par exemple, si chaque `indices[m]` est scalaire ou vectoriel, nous avons
# Scalar indices:
     merged[indices[m], ...] = data[m][...]
 
     # Vector indices:
     merged[indices[m][i], ...] = data[m][i, ...]
 
Chaque `data[i].shape` doit commencer par les `indices[i] correspondants. shape`, et le reste de `data[i].shape` doit être constant par rapport à `i`. Autrement dit, nous devons avoir `data[i].shape = indices[i].shape + constant`. En termes de cette « constante », la forme de sortie est

merged.shape = [max(indices)] + constante

Les valeurs peuvent être fusionnées en parallèle, donc si un index apparaît à la fois dans `indices[m][i]` et `indices[n][j]`, le résultat peut être invalide. Cela diffère de l'opérateur DynamicStitch normal qui définit le comportement dans ce cas.

Par exemple :

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]]
 
Cette méthode peut être utilisée pour fusionner des partitions créées par `dynamic_partition` comme illustré dans l'exemple suivant :
# 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

Chaîne OP_NAME Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Méthodes publiques

Sortie <T>
comme Sortie ()
Renvoie le handle symbolique du tenseur.
statique <T étend TType > ParallelDynamicStitch <T>
créer ( Scope scope, Iterable< Operand < TInt32 >> indices, Iterable< Operand <T>> data)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération ParallelDynamicStitch.
Sortie <T>

Méthodes héritées

Constantes

chaîne finale statique publique OP_NAME

Le nom de cette opération, tel que connu par le moteur principal TensorFlow

Valeur constante : "ParallelDynamicStitch"

Méthodes publiques

sortie publique <T> asOutput ()

Renvoie le handle symbolique du tenseur.

Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.

public static ParallelDynamicStitch <T> create ( Scope scope, Iterable< Operand < TInt32 >> indices, Iterable< Operand <T>> data)

Méthode d'usine pour créer une classe encapsulant une nouvelle opération ParallelDynamicStitch.

Paramètres
portée portée actuelle
Retour
  • une nouvelle instance de ParallelDynamicStitch

sortie publique <T> fusionnée ()