tensoreflusso:: ops:: SparseApplyCenteredRMSProp
#include <training_ops.h>
Aggiorna '*var' in base all'algoritmo RMSProp centrato.
Riepilogo
L'algoritmo RMSProp centrato utilizza una stima del secondo momento centrato (cioè la varianza) per la normalizzazione, al contrario del normale RMSProp, che utilizza il secondo momento (non centrato). Questo spesso aiuta con la formazione, ma è leggermente più costoso in termini di calcolo e memoria.
Tieni presente che nell'implementazione densa di questo algoritmo, mg, ms e mom verranno aggiornati anche se il grad è zero, ma in questa implementazione sparsa, mg, ms e mom non verranno aggiornati nelle iterazioni durante le quali il grad è zero.
quadrato_medio = decadimento * quadrato_medio + (1 decadimento) * gradiente ** 2 grado_medio = decadimento * grado_medio + (decadimento 1) * gradiente Delta = tasso_di_apprendimento * gradiente / sqrt(quadrato_medio + epsilon - grado_medio ** 2)
$$ms <- rho * ms_{t-1} + (1-rho) * grad * grad$$ $$mom <- momentum * mom_{t-1} + lr * grad / sqrt(ms + epsilon)$$ $$var <- var - mom$$
Argomenti:
- scope: un oggetto Scope
- var: dovrebbe provenire da una variabile().
- mg: dovrebbe provenire da una variabile().
- ms: dovrebbe provenire da una variabile().
- mamma: Dovrebbe provenire da una Variabile().
- lr: fattore di scala. Deve essere uno scalare.
- rho: tasso di decadimento. Deve essere uno scalare.
- epsilon: termine di cresta. Deve essere uno scalare.
- grad: il gradiente.
- indici: un vettore di indici nella prima dimensione di var, ms e mom.
Attributi facoltativi (vedi Attrs
):
- use_locking: Se
True
, l'aggiornamento dei tensori var, mg, ms e mom è protetto da un blocco; altrimenti il comportamento non è definito, ma può mostrare meno contesa.
Resi:
-
Output
: Uguale a "var".
Costruttori e distruttori | |
---|---|
SparseApplyCenteredRMSProp (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) | |
SparseApplyCenteredRMSProp (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 SparseApplyCenteredRMSProp::Attrs & attrs) |
Attributi pubblici | |
---|---|
operation | |
out |
Funzioni pubbliche | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Funzioni pubbliche statiche | |
---|---|
UseLocking (bool x) |
Strutture | |
---|---|
tensorflow:: ops:: SparseApplyCenteredRMSProp:: Attrs | Setter di attributi facoltativi per SparseApplyCenteredRMSProp . |
Attributi pubblici
operazione
Operation operation
fuori
::tensorflow::Output out
Funzioni pubbliche
SparseApplyCenteredRMSProp
SparseApplyCenteredRMSProp( 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 )
SparseApplyCenteredRMSProp
SparseApplyCenteredRMSProp( 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 SparseApplyCenteredRMSProp::Attrs & attrs )
nodo
::tensorflow::Node * node() const
operatore::tensorflow::Input
operator::tensorflow::Input() const
operatore::tensorflow::Output
operator::tensorflow::Output() const
Funzioni pubbliche statiche
UsaLocking
Attrs UseLocking( bool x )