mxnet.optimizer.rmsprop¶
RMSProp optimizer.
Classes
|
The RMSProp optimizer. |
- class mxnet.optimizer.rmsprop.RMSProp(learning_rate=0.001, rho=0.9, momentum=0.9, epsilon=1e-08, centered=False, clip_weights=None, use_fused_step=True, **kwargs)[source]¶
Bases:
OptimizerThe RMSProp optimizer.
Two versions of RMSProp are implemented:
If
centered=False, we follow http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf by Tieleman & Hinton, 2012. For details of the update algorithm seermsprop_update.If
centered=True, we follow http://arxiv.org/pdf/1308.0850v5.pdf (38)-(45) by Alex Graves, 2013. For details of the update algorithm seermspropalex_update.This optimizer accepts the following parameters in addition to those accepted by
Optimizer.- Parameters:
learning_rate (float, default 0.001) – The initial learning rate. If None, the optimization will use the learning rate from
lr_scheduler. If not None, it will overwrite the learning rate inlr_scheduler. If None andlr_scheduleris also None, then it will be set to 0.01 by default.rho (float, default 0.9) – A decay factor of moving average over past squared gradient.
momentum (float, default 0.9) – Heavy ball momentum factor. Only used if centered`=``True`.
epsilon (float, default 1e-8) – Small value to avoid division by 0.
centered (bool, default False) –
Flag to control which version of RMSProp to use.:
True: will use Graves's version of `RMSProp`, False: will use Tieleman & Hinton's version of `RMSProp`.
clip_weights (float, optional) – Clips weights into range
[-clip_weights, clip_weights].use_fused_step (bool, default True) – Whether or not to use fused kernels for optimizer. When use_fused_step=False, step is called, otherwise, fused_step is called.
- create_state(index, weight)[source]¶
Creates auxiliary state for a given weight.
Some optimizers require additional states, e.g. as momentum, in addition to gradients in order to update weights. This function creates state for a given weight which will be used in update. This function is called only once for each weight.
- fused_step(indices, weights, grads, states)[source]¶
Perform a fused optimization step using gradients and states. Fused kernel is used for update.
- Parameters:
indices (list of int) – List of unique indices of the parameters into the individual learning rates and weight decays. Learning rates and weight decay may be set via set_lr_mult() and set_wd_mult(), respectively.
weights (list of NDArray) – List of parameters to be updated.
grads (list of NDArray) – List of gradients of the objective with respect to this parameter.
states (List of any obj) – List of state returned by create_state().
- step(indices, weights, grads, states)[source]¶
Perform an optimization step using gradients and states.
- Parameters:
indices (list of int) – List of unique indices of the parameters into the individual learning rates and weight decays. Learning rates and weight decay may be set via set_lr_mult() and set_wd_mult(), respectively.
weights (list of NDArray) – List of parameters to be updated.
grads (list of NDArray) – List of gradients of the objective with respect to this parameter.
states (List of any obj) – List of state returned by create_state().