Adam¶
- class
dragon.vm.tensorflow.keras.optimizers.
Adam
(
learning_rate=0.001,
beta_1=0.9,
beta_2=0.999,
epsilon=1e-07,
name=None,
**kwargs
)[source]¶ The optimizer to apply Adam algorithm. [Kingma & Ba, 2014].
The Adam update is defined as:
\[\text{Adam}(g) = \text{lr} * (\frac{\text{correction}* m_{t}} {\sqrt{v_{t}} + \epsilon}) \\ \quad \\ \text{where}\quad \begin{cases} \text{correction} = \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^{2} \end{cases} \]
__init__¶
Adam.
__init__
(
learning_rate=0.001,
beta_1=0.9,
beta_2=0.999,
epsilon=1e-07,
name=None,
**kwargs
)[source]¶Create an
Adam
optimizer.- Parameters:
- learning_rate (float, optional, default=0.001) – The initial value to \(\text{lr}\).
- beta_1 (float, optional, default=0.9) – The initial value to \(\beta_{1}\).
- beta_2 (float, optional, default=0.999) – The initial value to \(\beta_{2}\).
- epsilon (float, optional, default=1e-7) – The initial value to \(\epsilon\).
- name (str, optional) – The optional optimizer name.
Properties¶
iterations¶
Optimizer.
iterations
Return the number of steps has run.
- Returns:
- int – The iterations.
Methods¶
apply_gradients¶
Optimizer.
apply_gradients
(grads_and_vars)[source]Apply the gradients to update variables.
- Parameters:
- grads_and_vars (Sequence[Sequence[dragon.Tensor]]) – The gradients and variables.
- Returns:
dragon.vm.tensorflow.keras.optimizers.Optimizer – The self to generate the update operations.