tensoreflusso:: ops:: SparseApplyProximalAdagrad

#include <training_ops.h>

Voci di aggiornamento sparse in '*var' e '*accum' secondo l'algoritmo FOBOS.

Riepilogo

Questo è per le righe per le quali abbiamo grad, aggiorniamo var e accum come segue:

$$accum += grad * grad$$
$$prox_v = var$$
$$prox_v -= lr * grad * (1 / sqrt(accum))$$
$$var = sign(prox_v)/(1+lr*l2) * max{|prox_v|-lr*l1,0}$$

Argomenti:

  • scope: un oggetto Scope
  • var: dovrebbe provenire da una variabile().
  • accum: dovrebbe provenire da una variabile().
  • lr: tasso di apprendimento. Deve essere uno scalare.
  • l1: regolarizzazione L1. Deve essere uno scalare.
  • l2: regolarizzazione L2. Deve essere uno scalare.
  • grad: il gradiente.
  • indici: un vettore di indici nella prima dimensione di var e accum.

Attributi facoltativi (vedi Attrs ):

  • use_locking: Se True, l'aggiornamento dei tensori var e accum sarà protetto da un lock; altrimenti il ​​comportamento non è definito, ma può mostrare meno contesa.

Ritorna:

Costruttori e distruttori

SparseApplyProximalAdagrad (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input grad, :: tensorflow::Input indices)
SparseApplyProximalAdagrad (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input grad, :: tensorflow::Input indices, const SparseApplyProximalAdagrad::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:: SparseApplyProximalAdagrad:: Attrs

Setter di attributi facoltativi per SparseApplyProximalAdagrad .

Attributi pubblici

operazione

Operation operation

fuori

::tensorflow::Output out

Funzioni pubbliche

SparseApplyProximalAdagrad

 SparseApplyProximalAdagrad(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input accum,
  ::tensorflow::Input lr,
  ::tensorflow::Input l1,
  ::tensorflow::Input l2,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices
)

SparseApplyProximalAdagrad

 SparseApplyProximalAdagrad(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input var,
  ::tensorflow::Input accum,
  ::tensorflow::Input lr,
  ::tensorflow::Input l1,
  ::tensorflow::Input l2,
  ::tensorflow::Input grad,
  ::tensorflow::Input indices,
  const SparseApplyProximalAdagrad::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
)