class, value_range, time_range, optimizer=None)[source]

Trainer extension to change an optimizer attribute linearly.

This extension changes an optimizer attribute from the first value to the last value linearly within a specified duration. The typical use case is warming up of the momentum coefficient.

For example, suppose that this extension is called at every iteration, and value_range == (x, y) and time_range == (i, j). Then, this extension keeps the attribute to be x up to the i-th iteration, linearly shifts the value to y by the j-th iteration, and then keeps the value to be y after the j-th iteration.

This extension is also called before the training loop starts by default.

  • attr (str) – Name of the optimizer attribute to adjust.
  • value_range (tuple of float) – The first and the last values of the attribute.
  • time_range (tuple of ints) – The first and last counts of calls in which the attribute is adjusted.
  • optimizer (Optimizer) – Target optimizer object. If it is None, the main optimizer of the trainer is used.



Finalizes the extension.

This method is called at the end of the training loop.