tf.keras.optimizers.Nadam

Class Nadam

Inherits From: Optimizer

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

Nesterov Adam optimizer.

Much like Adam is essentially RMSprop with momentum, Nadam is Adam RMSprop with Nesterov momentum.

Default parameters follow those provided in the paper. It is recommended to leave the parameters of this optimizer at their default values.

Arguments:

  • lr: float >= 0. Learning rate. beta_1/beta_2: floats, 0 < beta < 1. Generally close to 1.
  • epsilon: float >= 0. Fuzz factor. If None, defaults to K.epsilon().

Methods

__init__

__init__(
    lr=0.002,
    beta_1=0.9,
    beta_2=0.999,
    epsilon=None,
    schedule_decay=0.004,
    **kwargs
)

from_config

from_config(
    cls,
    config
)

get_config

get_config()

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).

get_updates

get_updates(
    loss,
    params
)

get_weights

get_weights()

Returns the current value of the weights of the optimizer.

Returns:

A list of numpy arrays.

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.