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.

Ritorna:

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
)