flux tensoriel : : opérations : : DispersionNdMise à jour
#include <state_ops.h> Applique updates éparses à des valeurs individuelles ou à des tranches au sein d'un élément donné.
Résumé
variable selon indices .
ref est un Tensor de rang P et indices est un Tensor de rang Q .
indices doivent être des tenseurs entiers, contenant des indices dans ref . Ça doit être en 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 ème dimension de ref .
updates sont Tensor de rang Q-1+PK de 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 .
Arguments :
- scope : un objet Scope
- ref : Un Tensor 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.
Attributs facultatifs (voir Attrs ) :
- use_locking : 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.
Retours :
-
Output: Identique à la réf. Renvoyé pour faciliter les opérations qui souhaitent utiliser les valeurs mises à jour une fois la mise à jour terminée.
Constructeurs et Destructeurs | |
|---|---|
ScatterNdUpdate (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates) | |
ScatterNdUpdate (const :: tensorflow::Scope & scope, :: tensorflow::Input ref, :: tensorflow::Input indices, :: tensorflow::Input updates, const ScatterNdUpdate::Attrs & attrs) |
Attributs publics | |
|---|---|
operation | |
output_ref | |
Fonctions publiques | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Fonctions statiques publiques | |
|---|---|
UseLocking (bool x) | |
Structures | |
|---|---|
| tensorflow :: ops :: ScatterNdUpdate :: Attrs | Setters d'attributs facultatifs pour ScatterNdUpdate . |
Attributs publics
opération
Operation operation
réf_sortie
::tensorflow::Output output_ref
Fonctions publiques
DispersionNdMise à jour
ScatterNdUpdate( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates )
DispersionNdMise à jour
ScatterNdUpdate( const ::tensorflow::Scope & scope, ::tensorflow::Input ref, ::tensorflow::Input indices, ::tensorflow::Input updates, const ScatterNdUpdate::Attrs & attrs )
nœud
::tensorflow::Node * node() const
opérateur :: tensorflow :: Entrée
operator::tensorflow::Input() const
opérateur :: tensorflow :: Sortie
operator::tensorflow::Output() const
Fonctions statiques publiques
UtiliserVerrouillage
Attrs UseLocking( bool x )