Aggiorna le voci rilevanti in '*var' e '*accum' secondo lo schema del momentum.
Imposta use_nesterov = True se desideri utilizzare lo slancio di Nesterov.
Questo è per le righe per le quali abbiamo grad, aggiorniamo var e accum come segue:
$$accum = accum * momentum + grad$$$$var -= lr * accum$$
Classi nidificate
classe | SparseApplyMomentum.Options | Attributi facoltativi per SparseApplyMomentum |
Costanti
Corda | OP_NAME | Il nome di questa operazione, come noto al motore principale di TensorFlow |
Metodi pubblici
Uscita <T> | comeuscita () Restituisce l'handle simbolico del tensore. |
statico <T estende TType > SparseApplyMomentum <T> | |
Uscita <T> | fuori () Uguale a "var". |
statico SparseApplyMomentum.Options | useLocking (useLocking booleano) |
statico SparseApplyMomentum.Options | useNesterov (uso booleanoNesterov) |
Metodi ereditati
Costanti
Stringa finale statica pubblica OP_NAME
Il nome di questa operazione, come noto al motore principale di TensorFlow
Metodi pubblici
Uscita pubblica <T> asOutput ()
Restituisce l'handle simbolico del tensore.
Gli input per le operazioni TensorFlow sono output di un'altra operazione TensorFlow. Questo metodo viene utilizzato per ottenere un handle simbolico che rappresenta il calcolo dell'input.
public static SparseApplyMomentum <T> create ( Scope scope, Operando <T> var, Operando <T> accum, Operando <T> lr, Operando <T> grad, Operando <? extends TNumber > indici, Operando <T> momentum, Opzioni ... opzioni)
Metodo factory per creare una classe che racchiude una nuova operazione SparseApplyMomentum.
Parametri
portata | ambito attuale |
---|---|
var | Dovrebbe provenire da una variabile(). |
accu | Dovrebbe provenire da una variabile(). |
lr | Tasso di apprendimento. Deve essere uno scalare. |
grado | Il gradiente. |
indici | Un vettore di indici nella prima dimensione di var e accum. |
slancio | Slancio. Deve essere uno scalare. |
opzioni | trasporta valori di attributi opzionali |
Ritorni
- una nuova istanza di SparseApplyMomentum
public static SparseApplyMomentum.Options useLocking (useLocking booleano)
Parametri
utilizzareBlocco | Se "Vero", l'aggiornamento dei tensori var e accum sarà protetto da un blocco; altrimenti il comportamento non è definito, ma può mostrare meno contesa. |
---|
public static SparseApplyMomentum.Options useNesterov (booleano useNesterov)
Parametri
utilizzare Nesterov | Se "True", il tensore passato al calcolo grad sarà var - lr * momentum * accum, quindi alla fine, il var che ottieni è in realtà var - lr * momentum * accum. |
---|