Atualize '*var' de acordo com o algoritmo Adam.
$$\text{lr}_t := \mathrm{learning_rate} * \sqrt{1 - \beta_2^t} / (1 - \beta_1^t)$$$$m_t := \beta_1 * m_{t-1} + (1 - \beta_1) * g$$$$v_t := \beta_2 * v_{t-1} + (1 - \beta_2) * g * g$$$$\hat{v}_t := max{\hat{v}_{t-1}, v_t}$$$$\text{variable} := \text{variable} - \text{lr}_t * m_t / (\sqrt{\hat{v}_t} + \epsilon)$$
Classes aninhadas
classe | ResourceApplyAdamWithAmsgrad.Options | Atributos opcionais para ResourceApplyAdamWithAmsgrad |
Métodos públicos
estático <T> ResourceApplyAdamWithAmsgrad | create ( Escopo do escopo, Operando <?> var, Operando <?> m, Operando <?> v, Operando <?> vhat, Operando <T> beta1Power, Operando <T> beta2Power, Operando <T> lr, Operando <T > beta1, Operando <T> beta2, Operando <T> epsilon, Operando <T> grad, Opções... opções) Método de fábrica para criar uma classe que envolve uma nova operação ResourceApplyAdamWithAmsgrad. |
static ResourceApplyAdamWithAmsgrad.Options | useLocking (booleano useLocking) |
Métodos Herdados
Métodos públicos
public static ResourceApplyAdamWithAmsgrad create ( Escopo do escopo, Operando <?> var, Operando <?> m, Operando <?> v, Operando <?> vhat, Operando <T> beta1Power, Operando <T> beta2Power, Operando <T> lr, Operando <T> beta1, Operando <T> beta2, Operando <T> epsilon, Operando <T> grad, Opções... opções)
Método de fábrica para criar uma classe que envolve uma nova operação ResourceApplyAdamWithAmsgrad.
Parâmetros
alcance | escopo atual |
---|---|
var | Deve ser de uma variável(). |
m | Deve ser de uma variável(). |
v | Deve ser de uma variável(). |
vhat | Deve ser de uma variável(). |
beta1Power | Deve ser um escalar. |
beta2Power | Deve ser um escalar. |
lr | Fator de escala. Deve ser um escalar. |
beta1 | Fator de impulso. Deve ser um escalar. |
beta2 | Fator de impulso. Deve ser um escalar. |
épsilon | Termo de cume. Deve ser um escalar. |
graduar | O gradiente. |
opções | carrega valores de atributos opcionais |
Devoluções
- uma nova instância de ResourceApplyAdamWithAmsgrad
public static ResourceApplyAdamWithAmsgrad.Options useLocking (Boolean useLocking)
Parâmetros
useBloqueio | Se `True`, a atualização dos tensores var, m e v será protegida por um bloqueio; caso contrário, o comportamento é indefinido, mas pode exibir menos contenção. |
---|