tf.keras.optimizers.Adam

Class Adam

Inherits From: Optimizer

Defined in tensorflow/python/keras/optimizers.py.

Adam optimizer.

Default parameters follow those provided in the original paper.

Arguments:

  • lr: float >= 0. Learning rate.
  • beta_1: float, 0 < beta < 1. Generally close to 1.
  • beta_2: float, 0 < beta < 1. Generally close to 1.
  • epsilon: float >= 0. Fuzz factor. If None, defaults to K.epsilon().
  • decay: float >= 0. Learning rate decay over each update.
  • amsgrad: boolean. Whether to apply the AMSGrad variant of this algorithm from the paper "On the Convergence of Adam and Beyond".

__init__

__init__(
    lr=0.001,
    beta_1=0.9,
    beta_2=0.999,
    epsilon=None,
    decay=0.0,
    amsgrad=False,
    **kwargs
)

Initialize self. See help(type(self)) for accurate signature.

Methods

tf.keras.optimizers.Adam.from_config

from_config(
    cls,
    config
)

tf.keras.optimizers.Adam.get_config

get_config()

tf.keras.optimizers.Adam.get_gradients

get_gradients(
    loss,
    params
)

Returns gradients of loss with respect to params.

Arguments:

  • loss: Loss tensor.
  • params: List of variables.

Returns:

List of gradient tensors.

Raises:

  • ValueError: In case any gradient cannot be computed (e.g. if gradient function not implemented).

tf.keras.optimizers.Adam.get_updates

get_updates(
    loss,
    params
)

tf.keras.optimizers.Adam.get_weights

get_weights()

Returns the current value of the weights of the optimizer.

Returns:

A list of numpy arrays.

tf.keras.optimizers.Adam.set_weights

set_weights(weights)

Sets the weights of the optimizer, from Numpy arrays.

Should only be called after computing the gradients (otherwise the optimizer has no weights).

Arguments:

  • weights: a list of Numpy arrays. The number of arrays and their shape must match number of the dimensions of the weights of the optimizer (i.e. it should match the output of get_weights).

Raises:

  • ValueError: in case of incompatible weight shapes.