Aggiorna le voci pertinenti in "* var" e "* accum" in base allo schema momentum.
Impostare use_nesterov = True se si desidera utilizzare lo slancio di Nesterov.
Cioè per le righe per cui abbiamo grad, aggiorniamo var e accum come segue:
accum = accum * momentum - lr * grad var + = accum
Classi annidate
classe | ResourceSparseApplyKerasMomentum.Options | Attributi facoltativi per ResourceSparseApplyKerasMomentum |
Metodi pubblici
static <T, U extends Number> ResourceSparseApplyKerasMomentum | |
statico ResourceSparseApplyKerasMomentum.Options | useLocking (booleano useLocking) |
statico ResourceSparseApplyKerasMomentum.Options | useNesterov (booleano useNesterov) |
Metodi ereditati
Metodi pubblici
public static ResourceSparseApplyKerasMomentum create ( ambito ambito, operando <?> var, operando <?> accum, operando <T> lr, operando <T> grad, operando <U> indici, operando <T> momentum, opzioni ... opzioni)
Metodo Factory per creare una classe che racchiude una nuova operazione ResourceSparseApplyKerasMomentum.
Parametri
scopo | ambito attuale |
---|---|
var | Dovrebbe provenire da una variabile (). |
accum | Dovrebbe provenire da una variabile (). |
lr | Tasso di apprendimento. Deve essere uno scalare. |
grad | Il gradiente. |
indici | Un vettore di indici nella prima dimensione di var e accum. |
quantità di moto | Quantità di moto. Deve essere uno scalare. |
opzioni | trasporta valori di attributi opzionali |
ritorna
- una nuova istanza di ResourceSparseApplyKerasMomentum
public static ResourceSparseApplyKerasMomentum.Options useLocking (Boolean useLocking)
Parametri
useLocking | Se "True", l'aggiornamento dei tensori var e accum sarà protetto da un lock; in caso contrario, il comportamento è indefinito, ma potrebbe presentare meno contese. |
---|
public static ResourceSparseApplyKerasMomentum.Options useNesterov (Boolean useNesterov)
Parametri
useNesterov | Se "True", il tensore passato per calcolare grad sarà var + momentum * accum, quindi alla fine la var che ottieni è in realtà var + momentum * accum. |
---|