Atualize as entradas relevantes em '* var' e '* acum' de acordo com o esquema de momentum.
Defina use_nesterov = True se quiser usar o momentum de Nesterov.
Isso é para linhas para as quais temos grad, atualizamos var e acumulamos da seguinte forma:
$$accum = accum * momentum + grad$$$$var -= lr * accum$$
Classes aninhadas
classe | SparseApplyMomentum.Options | Atributos opcionais para SparseApplyMomentum |
Constantes
Fragmento | OP_NAME | O nome desta operação, conforme conhecido pelo motor principal TensorFlow |
Métodos Públicos
Output <T> | asOutput () Retorna o identificador simbólico do tensor. |
estática <T estende TType > SparseApplyMomentum <T> | |
Output <T> | a () O mesmo que "var". |
estáticos SparseApplyMomentum.Options | useLocking (booleano useLocking) |
estáticos SparseApplyMomentum.Options | useNesterov (booleano useNesterov) |
Métodos herdados
Constantes
nome_op final String public static
O nome desta operação, conforme conhecido pelo motor principal TensorFlow
Métodos Públicos
pública Output <T> asOutput ()
Retorna o identificador simbólico do tensor.
As entradas para as operações do TensorFlow são saídas de outra operação do TensorFlow. Este método é usado para obter um identificador simbólico que representa o cálculo da entrada.
public static SparseApplyMomentum <T> Criar ( Scope escopo, Operando <T> var, Operando <T> Acumulado, Operando <T> lr, Operando <T> formando, Operando <? estende TNumber > índices, Operando <T> impulso, Opções ... opções)
Método de fábrica para criar uma classe envolvendo uma nova operação SparseApplyMomentum.
Parâmetros
alcance | escopo atual |
---|---|
var | Deve ser de uma variável (). |
acum | Deve ser de uma variável (). |
lr | Taxa de Aprendizagem. Deve ser um escalar. |
grad | O gradiente. |
índices | Um vetor de índices na primeira dimensão de var e acum. |
impulso | Momentum. Deve ser um escalar. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de SparseApplyMomentum
public static SparseApplyMomentum.Options useLocking (Boolean useLocking)
Parâmetros
useLocking | Se for `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 SparseApplyMomentum.Options useNesterov (Boolean useNesterov)
Parâmetros
useNesterov | Se for `True`, o tensor passado para calcular grad será var - lr * momento * acum, então, no final, o var que você obtém é na verdade var - lr * momento * acum. |
---|