ScatterNdNonAliasingAdd

classe finale publique ScatterNdNonAliasingAdd

Applique une addition clairsemée à « input » en utilisant des valeurs individuelles ou des tranches

à partir des « mises à jour » selon les indices « indices ». Les mises à jour sont sans alias : `input` n'est modifié sur place que si aucune autre opération ne l'utilise. Sinon, une copie de « input » est effectuée. Cette opération a un gradient par rapport à la fois à « l'entrée » et aux « mises à jour ».

`input` est un `Tensor` de rang `P` et `indices` est un `Tensor` de rang `Q`.

`indices` doit être un tenseur entier, contenant des indices dans `input`. Il doit s'agir de la forme \\([d_0, ..., d_{Q-2}, K]\\) où `0 < K <= P`.

La dimension la plus intérieure des « indices » (de longueur « K ») correspond aux indices en éléments (si « K = P ») ou aux tranches dimensionnelles « (PK) » (si « K < P ») le long du « K » dimension de « entrée ».

`updates` est un `Tensor` de rang `Q-1+PK` avec la forme :

$$[d_0, ..., d_{Q-2}, input.shape[K], ..., input.shape[P-1]].$$

Par exemple, disons que nous voulons ajouter 4 éléments dispersés à un tenseur de rang 1 à 8 éléments. En Python, cet ajout ressemblerait à ceci :

input = tf.constant([1, 2, 3, 4, 5, 6, 7, 8]) indices = tf.constant([[4], [3], [1], [7]]) mises à jour = tf.constant([9, 10, 11, 12]) sortie = tf.scatter_nd_non_aliasing_add(input, indices, mises à jour) avec tf.Session() comme sess : print(sess.run(output))

La valeur résultante « output » ressemblerait à ceci :

[1, 13, 3, 14, 14, 6, 7, 20]

Voir tf.scatter_nd pour plus de détails sur la façon de mettre à jour les tranches.

Méthodes publiques

Sortie <T>
comme Sortie ()
Renvoie le handle symbolique d'un tenseur.
statique <T, U étend le nombre> ScatterNdNonAliasingAdd <T>
créer (portée de portée , entrée d'opérande <T>, indices d'opérande <U>, mises à jour d' opérande <T>)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération ScatterNdNonAliasingAdd.
Sortie <T>
sortir ()
Un `Tensor` avec la même forme que `input`, contenant les valeurs de `input` mises à jour avec `updates`.

Méthodes héritées

Méthodes publiques

sortie publique <T> asOutput ()

Renvoie le handle symbolique d'un 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 ScatterNdNonAliasingAdd <T> créer (portée de portée , entrée d'opérande <T>, indices d'opérande <U>, mises à jour d' opérande <T>)

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

Paramètres
portée portée actuelle
saisir Un Tenseur.
indices Un Tenseur. Doit être l'un des types suivants : `int32`, `int64`. Un tenseur d'indices dans `input`.
mises à jour Un Tenseur. Doit être du même type que la réf. Un tenseur de valeurs mises à jour à ajouter à « input ».
Retour
  • une nouvelle instance de ScatterNdNonAliasingAdd

sortie publique <T> sortie ()

Un `Tensor` avec la même forme que `input`, contenant les valeurs de `input` mises à jour avec `updates`.