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.

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 > ScatterNdNonAliasingAdd <T>
créer (portée de la portée , entrée de l'opérande <T>, opérande <? étend les indices TNumber >, mises à jour de l'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

Constantes

chaîne finale statique publique OP_NAME

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

Valeur constante : "ScatterNdNonAliasingAdd"

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 ScatterNdNonAliasingAdd <T> créer ( portée de la portée , entrée de l'opérande <T>, opérande <? étend les indices TNumber >, mises à jour de l'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`.