tf.keras.optimizers.SGD

Class SGD

Inherits From: Optimizer

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

Stochastic gradient descent optimizer.

Includes support for momentum, learning rate decay, and Nesterov momentum.

Arguments:

  • lr: float >= 0. Learning rate.
  • momentum: float >= 0. Parameter that accelerates SGD in the relevant direction and dampens oscillations.
  • decay: float >= 0. Learning rate decay over each update.
  • nesterov: boolean. Whether to apply Nesterov momentum.

__init__

__init__(
    lr=0.01,
    momentum=0.0,
    decay=0.0,
    nesterov=False,
    **kwargs
)

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

Methods

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.