Applique des « mises à jour » éparses à des valeurs ou tranches individuelles dans un
variable selon des `indices`.
`ref` est un `Tensor` de rang `P` et `indices` est un `Tensor` de rang `Q`.
`indices` doit être un tenseur entier, contenant des indices dans `ref`. 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 en tranches (si « K < P ») le long de la « K » dimension de « ref ».
`updates` est un `Tensor` de rang `Q-1+PK` avec la forme :
$$[d_0, ..., d_{Q-2}, ref.shape[K], ..., ref.shape[P-1]].$$
Par exemple, disons que nous souhaitons mettre à jour 4 éléments dispersés vers un tenseur de rang 1 à 8 éléments. En Python, cette mise à jour ressemblerait à ceci :
ref = tf.Variable([1, 2, 3, 4, 5, 6, 7, 8])
indices = tf.constant([[4], [3], [1] ,[7]])
updates = tf.constant([9, 10, 11, 12])
update = tf.scatter_nd_update(ref, indices, updates)
with tf.Session() as sess:
print sess.run(update)
La mise à jour résultante vers ref ressemblerait à ceci :[1, 11, 3, 10, 9, 6, 7, 12]
Voir tf.scatter_nd
pour plus de détails sur la façon de mettre à jour les tranches.
Voir aussi `tf.scatter_update` et `tf.batch_scatter_update`.
Classes imbriquées
classe | ScatterNdUpdate.Options | Attributs facultatifs pour ScatterNdUpdate |
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 > ScatterNdUpdate <T> | |
Sortie <T> | sortieRef () Identique à la réf. |
ScatterNdUpdate.Options statique | useLocking (booléen useLocking) |
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
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 ScatterNdUpdate <T> create ( Scope scope, Operand <T> ref, Operand <? extends TNumber > index, Operand <T> mises à jour, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération ScatterNdUpdate.
Paramètres
portée | portée actuelle |
---|---|
réf | Un Tenseur mutable. Doit provenir d’un nœud variable. |
indices | Un Tenseur. Doit être l'un des types suivants : int32, int64. Un tenseur d'indices dans la réf. |
mises à jour | Un Tenseur. Doit être du même type que la réf. Un tenseur de valeurs mises à jour à ajouter à la réf. |
choix | porte des valeurs d'attributs facultatifs |
Retour
- une nouvelle instance de ScatterNdUpdate
sortie publique <T> sortieRef ()
Identique à la réf. Renvoyé pour faciliter les opérations qui souhaitent utiliser les valeurs mises à jour une fois la mise à jour terminée.
public statique ScatterNdUpdate.Options useLocking (booléen useLocking)
Paramètres
utiliserVerrouillage | Un booléen facultatif. La valeur par défaut est True. Si True, l'affectation sera protégée par un verrou ; sinon, le comportement n'est pas défini, mais peut présenter moins de conflits. |
---|