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> | |
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. |
---|