Table Of Contents
Table Of Contents

gluonts.trainer.learning_rate_scheduler module

class gluonts.trainer.learning_rate_scheduler.MetricAttentiveScheduler(objective: str, patience: int, base_lr: float = 0.01, decay_factor: float = 0.5, min_lr: float = 0.0)[source]

Bases: mxnet.lr_scheduler.LRScheduler

This scheduler decreases the learning rate based on the value of some validation metric to be optimized (maximized or minimized). The value of such metric is provided by calling the step method on the scheduler. A patience parameter must be provided, and the scheduler will reduce the learning rate if no improvement in the metric is done before patience observations of the metric.

Examples

patience = 0: learning rate will decrease at every call to step, regardless of the metric value

patience = 1: learning rate is reduced as soon step is called with a metric value which does not improve over the best encountered

patience = 10: learning rate is reduced if no improvement in the metric is recorded in 10 successive calls to step

Parameters:
  • objective – String, can either be “min” or “max”
  • patience – The patience to observe before reducing the learning rate, nonnegative integer.
  • base_lr – Initial learning rate to be used.
  • decay_factor – Factor (between 0 and 1) by which to decrease the learning rate.
  • min_lr – Lower bound for the learning rate, learning rate will never go below min_lr
step(metric_value: float) → None[source]

Inform the scheduler of the new value of the metric that is being optimized. This method should be invoked at regular intervals (e.g. at the end of every epoch, after computing a validation score).

Parameters:metric_value – Value of the metric that is being optimized.