tensoreflusso:: ops:: ApplicaCenteredRMSProp

#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 + (1 decadimento) * gradiente

Delta = tasso_di_apprendimento * gradiente / sqrt(quadrato_medio + epsilon - grado_medio ** 2)

mg <- rho * mg_{t-1} + (1-rho) * grad ms <- rho * ms_{t-1} + (1-rho) * grad * grad mom <- momentum * mom_{t-1 } + lr * grad / sqrt(ms - mg * mg + 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.

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.

Ritorna:

Costruttori e distruttori

ApplyCenteredRMSProp (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)
ApplyCenteredRMSProp (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, const ApplyCenteredRMSProp::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:: ApplyCenteredRMSProp:: Attrs

Setter di attributi facoltativi per ApplyCenteredRMSProp .

Attributi pubblici

operazione

Operation operation

fuori

::tensorflow::Output out

Funzioni pubbliche

ApplicaCenteredRMSProp

 ApplyCenteredRMSProp(
  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
)

ApplicaCenteredRMSProp

 ApplyCenteredRMSProp(
  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,
  const ApplyCenteredRMSProp::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
)