Tensorflow :: ops :: SparseApplyRMSProp
#include <training_ops.h>
Aktualisieren Sie '* var' gemäß dem RMSProp-Algorithmus.
Zusammenfassung
Beachten Sie, dass bei einer dichten Implementierung dieses Algorithmus ms und mom auch dann aktualisiert werden, wenn der Grad Null ist. Bei dieser spärlichen Implementierung werden ms und mom jedoch nicht in Iterationen aktualisiert, bei denen der Grad Null ist.
mean_square = Zerfall * mean_square + (1-Zerfall) * Gradient ** 2 Delta = Lernrate * Gradient / sqrt (mean_square + epsilon)
$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$ $$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$ $$var <- var - mom$$
Argumente:
- scope: Ein Scope- Objekt
- var: 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 var-, ms- und mom-Tensoren durch eine Sperre geschützt. Andernfalls ist das Verhalten undefiniert, weist jedoch möglicherweise weniger Konflikte auf.
Kehrt zurück:
-
Output
: Wie "var".
Konstruktoren und Destruktoren | |
---|---|
SparseApplyRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input ms, :: tensorflow::Input mom, :: tensorflow::Input lr, :: tensorflow::Input rho, :: tensorflow::Input momentum, :: tensorflow::Input epsilon, :: tensorflow::Input grad, :: tensorflow::Input indices) | |
SparseApplyRMSProp (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: 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 SparseApplyRMSProp::Attrs & attrs) |
Öffentliche Attribute | |
---|---|
operation | |
out |
Öffentliche Funktionen | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Öffentliche statische Funktionen | |
---|---|
UseLocking (bool x) |
Strukturen | |
---|---|
tensorflow :: ops :: SparseApplyRMSProp :: Attrs | Optionale Attributsetzer für SparseApplyRMSProp . |
Öffentliche Attribute
Operation
Operation operation
aus
::tensorflow::Output out
Öffentliche Funktionen
SparseApplyRMSProp
SparseApplyRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input ms, ::tensorflow::Input mom, ::tensorflow::Input lr, ::tensorflow::Input rho, ::tensorflow::Input momentum, ::tensorflow::Input epsilon, ::tensorflow::Input grad, ::tensorflow::Input indices )
SparseApplyRMSProp
SparseApplyRMSProp( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::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 SparseApplyRMSProp::Attrs & attrs )
Knoten
::tensorflow::Node * node() const
operator :: tensorflow :: Input
operator::tensorflow::Input() const
operator :: tensorflow :: Output
operator::tensorflow::Output() const
Öffentliche statische Funktionen
UseLocking
Attrs UseLocking( bool x )