Tensorflow :: ops :: ResourceSparseApplyCenteredRMSProp
#include <training_ops.h>
Aktualisieren Sie '* var' gemäß dem zentrierten RMSProp-Algorithmus.
Zusammenfassung
Der zentrierte RMSProp-Algorithmus verwendet eine Schätzung des zentrierten zweiten Moments (dh der Varianz) zur Normalisierung im Gegensatz zum regulären RMSProp, der das (nicht zentrierte) zweite Moment verwendet. Dies hilft oft beim Training, ist jedoch in Bezug auf Berechnung und Speicher etwas teurer.
Beachten Sie, dass bei einer dichten Implementierung dieses Algorithmus mg, ms und mom auch dann aktualisiert werden, wenn der Grad Null ist. Bei dieser spärlichen Implementierung werden mg, ms und mom jedoch nicht in Iterationen aktualisiert, bei denen der Grad Null ist.
mean_square = Zerfall * mean_square + (1-Zerfall) * Gradient ** 2 mean_grad = Zerfall * mean_grad + (1-Zerfall) * Gradient Delta = Lernrate * Gradient / sqrt (mean_square + epsilon - mean_grad ** 2)
ms <- rho * ms_ {t-1} + (1-rho) * grad * grad mom <- Impuls * mom_ {t-1} + lr * grad / sqrt (ms + epsilon) var <- var - mom
Argumente:
- scope: Ein Scope- Objekt
- var: Sollte von einer Variablen stammen ().
- mg: Sollte von einer Variablen stammen ().
- ms: Sollte von einer Variablen stammen ().
- Mutter: Sollte von einer Variablen stammen ().
- lr: Skalierungsfaktor. Muss ein Skalar sein.
- Rho: Zerfallsrate. Muss ein Skalar sein.
- epsilon: Ridge Begriff. Muss ein Skalar sein.
- grad: Der Gradient.
- Indizes: Ein Vektor von Indizes in die erste Dimension von var, ms und mom.
Optionale Attribute (siehe Attrs
):
- use_locking: Wenn
True
, wird die Aktualisierung der Tensoren var, mg, ms und mom durch eine Sperre geschützt. Andernfalls ist das Verhalten undefiniert, weist jedoch möglicherweise weniger Konflikte auf.
Kehrt zurück:
- die erstellte
Operation
Konstruktoren und Destruktoren | |
---|---|
ResourceSparseApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices) | |
ResourceSparseApplyCenteredRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input mg, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices, const ResourceSparseApplyCenteredRMSProp::Attrs & attrs) |
Öffentliche Attribute | |
---|---|
operation |
Öffentliche Funktionen | |
---|---|
operator::tensorflow::Operation () const |
Öffentliche statische Funktionen | |
---|---|
UseLocking (bool x) |
Strukturen | |
---|---|
tensorflow :: ops :: ResourceSparseApplyCenteredRMSProp :: Attrs | Optionale Attributsetzer für ResourceSparseApplyCenteredRMSProp . |
Öffentliche Attribute
Operation
Operation operation
Öffentliche Funktionen
ResourceSparseApplyCenteredRMSProp
ResourceSparseApplyCenteredRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input mg, ::tensorflow::Input ms, ::tensorflow::Input mom, ::tensorflow::Input lr, ::tensorflow::Input rho, ::tensorflow::Input momentum, ::tensorflow::Input epsilon, ::tensorflow::Input grad, ::tensorflow::Input indices )
ResourceSparseApplyCenteredRMSProp
ResourceSparseApplyCenteredRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input mg, ::tensorflow::Input ms, ::tensorflow::Input mom, ::tensorflow::Input lr, ::tensorflow::Input rho, ::tensorflow::Input momentum, ::tensorflow::Input epsilon, ::tensorflow::Input grad, ::tensorflow::Input indices, const ResourceSparseApplyCenteredRMSProp::Attrs & attrs )
operator :: tensorflow :: Operation
operator::tensorflow::Operation() const
Öffentliche statische Funktionen
UseLocking
Attrs UseLocking( bool x )