Atualize as entradas relevantes em '*var' e '*accum' de acordo com o esquema de momento.
Defina use_nesterov = True se você quiser usar o momento Nesterov.
Ou seja, para as linhas para as quais temos grad, atualizamos var e acumulo da seguinte forma:
acumulo = acumulo * momento - lr * grad var += acumulo
Classes aninhadas
aula | ResourceSparseApplyKerasMomentum.Options | Atributos opcionais para ResourceSparseApplyKerasMomentum |
Métodos públicos
estático <T, U estende número> ResourceSparseApplyKerasMomentum | |
estático ResourceSparseApplyKerasMomentum.Options | useLocking (booleano useLocking) |
estático ResourceSparseApplyKerasMomentum.Options | useNesterov (booleano useNesterov) |
Métodos Herdados
Métodos públicos
public static ResourceSparseApplyKerasMomentum create ( Escopo do escopo, Operando <?> var, Operando <?> accum, Operando <T> lr, Operando <T> grad, Operando <U> índices, Operando <T> momentum, Opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação ResourceSparseApplyKerasMomentum.
Parâmetros
alcance | escopo atual |
---|---|
var | Deve ser de uma variável(). |
acumular | Deve ser de uma variável(). |
lr | Taxa de Aprendizagem. Deve ser um escalar. |
graduar | O gradiente. |
índices | Um vetor de índices na primeira dimensão de var e acum. |
impulso | Impulso. Deve ser um escalar. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de ResourceSparseApplyKerasMomentum
public static ResourceSparseApplyKerasMomentum.Options useLocking (Boolean useLocking)
Parâmetros
useBloqueio | Se `True`, a atualização dos tensores var e accum será protegida por um bloqueio; caso contrário, o comportamento é indefinido, mas pode exibir menos contenção. |
---|
public static ResourceSparseApplyKerasMomentum.Options useNesterov (Boolean useNesterov)
Parâmetros
useNesterov | Se `True`, o tensor passado para calcular grad será var + momentum * accum, então no final, o var que você obtém é na verdade var + momentum * accum. |
---|