LinearShift(attr, value_range, time_range, optimizer=None)¶
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
xup to the
i-th iteration, linearly shifts the value to
j-th iteration, and then keeps the value to be
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.