ScatterNdUpdate

classe finale publique ScatterNdUpdate

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 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 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 de la référence 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

Méthodes publiques

Sortie <T>
comme Sortie ()
Renvoie le handle symbolique d'un tenseur.
statique <T, U étend le nombre> ScatterNdUpdate <T>
créer ( Scope scope, Opérande <T> ref, Opérande <U> indices, Opérande <T> mises à jour, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération ScatterNdUpdate.
Sortie <T>
sortieRef ()
Identique à la réf.
ScatterNdUpdate.Options statique
useLocking (booléen useLocking)

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 ScatterNdUpdate <T> créer (portée de portée , référence d'opérande <T>, indices d'opérande <U>, mises à jour d'opérande <T>, 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
Retours
  • 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.