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 avoir 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 ». |
Retours
- 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`.
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 avoir 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 ». |
Retours
- 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`.