tensorflow::ops::SparseApplyFtrl
#include <training_ops.h>Aggiorna le voci pertinenti in '*var' secondo lo schema prossimale Ftrl.
Riepilogo
Ovvero, per le righe per cui abbiamo il gradiente, aggiorniamo var, accum e linear come segue:
$$accum_new = accum + grad * grad$$
$$linear += grad + (accum_{new}^{-lr_{power} } - accum^{-lr_{power} } / lr * var$$
$$quadratic = 1.0 / (accum_{new}^{lr_{power} } * lr) + 2 * l2$$
$$var = (sign(linear) * l1 - linear) / quadratic\ if\ |linear| > l1\ else\ 0.0$$
$$accum = accum_{new}$$
Argomentazioni:
- ambito: un oggetto Scope
- var: Dovrebbe provenire da una Variable().
- accumula: Dovrebbe provenire da una Variabile().
- lineare: Dovrebbe provenire da una Variabile().
- grad: Il gradiente.
- indici: Un vettore di indici nella prima dimensione di var e accum.
- lr: Fattore di scala. Deve essere uno scalare.
- l1: Regolarizzazione L1. Deve essere uno scalare.
- l2: Regolarizzazione L2. Deve essere uno scalare.
- lr_power: Fattore di scala. Deve essere uno scalare.
Attributi opzionali (vedere Attrs ):
- use_locking: Se
True, l'aggiornamento dei tensori var e accum sarà protetto da un blocco; altrimenti il comportamento non è definito, ma potrebbe presentare una minore contesa.
Resi:
-
Output: Uguale a "var".
Costruttori e distruttori | |
|---|---|
SparseApplyFtrl (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input linear, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input lr_power) | |
SparseApplyFtrl (const :: tensorflow::Scope & scope, :: tensorflow::Input var, :: tensorflow::Input accum, :: tensorflow::Input linear, :: tensorflow::Input grad, :: tensorflow::Input indices, :: tensorflow::Input lr, :: tensorflow::Input l1, :: tensorflow::Input l2, :: tensorflow::Input lr_power, const SparseApplyFtrl::Attrs & attrs) |
attributi pubblici | |
|---|---|
operation | |
out | |
Funzioni pubbliche | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Funzioni statiche pubbliche | |
|---|---|
MultiplyLinearByLr (bool x) | |
UseLocking (bool x) | |
Strutture | |
|---|---|
| tensorflow::ops::SparseApplyFtrl::Attrs | Impostatori di attributi opzionali per SparseApplyFtrl . |
attributi pubblici
operazione
Operation operation
fuori
::tensorflow::Output out
Funzioni pubbliche
SparseApplyFtrl
SparseApplyFtrl( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input accum, ::tensorflow::Input linear, ::tensorflow::Input grad, ::tensorflow::Input indices, ::tensorflow::Input lr, ::tensorflow::Input l1, ::tensorflow::Input l2, ::tensorflow::Input lr_power )
SparseApplyFtrl
SparseApplyFtrl( const ::tensorflow::Scope & scope, ::tensorflow::Input var, ::tensorflow::Input accum, ::tensorflow::Input linear, ::tensorflow::Input grad, ::tensorflow::Input indices, ::tensorflow::Input lr, ::tensorflow::Input l1, ::tensorflow::Input l2, ::tensorflow::Input lr_power, const SparseApplyFtrl::Attrs & attrs )
nodo
::tensorflow::Node * node() const
operatore::tensorflow::Input
operator::tensorflow::Input() const
operatore::tensoreflusso::output
operator::tensorflow::Output() const
Funzioni statiche pubbliche
MoltiplicaLinearePerLr
Attrs MultiplyLinearByLr( bool x )
UseLocking
Attrs UseLocking( bool x )