Copy
PolynomialLR
- class tensorplay.optim.lr_scheduler.PolynomialLR(optimizer: Optimizer, total_iters: int = 5, power: float = 1.0, last_epoch: int = -1)[source]
Decays the learning rate of each parameter group using a polynomial function in the given total_iters.
When last_epoch=-1, sets initial lr as lr.
- Parameters:
Example
>>> # xdoctest: +SKIP("undefined vars") >>> # Assuming optimizer uses lr = 0.05 for all groups >>> # lr = 0.0490 if epoch == 0 >>> # lr = 0.0481 if epoch == 1 >>> # lr = 0.0472 if epoch == 2 >>> # ... >>> # lr = 0.0 if epoch >= 50 >>> scheduler = PolynomialLR(optimizer, total_iters=50, power=0.9) >>> for epoch in range(100): >>> train(...) >>> validate(...) >>> scheduler.step()
- get_last_lr() list[float | TensorBase]
Get the most recent learning rates computed by this scheduler.
- Returns:
A
listof learning rates with entries for each of the optimizer’sparam_groups, with the same types as theirgroup["lr"]s.- Return type:
Note
The returned
Tensors are copies, and never alias the optimizer’sgroup["lr"]s.
- get_lr() list[float | TensorBase][source]
Compute the next learning rate for each of the optimizer’s
param_groups.Scales the
group["lr"]s in the optimizer’sparam_groupssuch that the learning rates follow\[\texttt{base\_lr} \cdot \left(1 - \frac{\texttt{last\_epoch}} {\texttt{total\_iters}} \right)^\texttt{power}\]Returns the current learning rates unchanged after
total_itersis reached.- Returns:
A
listof learning rates for each of the optimizer’sparam_groupswith the same types as their currentgroup["lr"]s.- Return type:
Note
If you’re trying to inspect the most recent learning rate, use
get_last_lr()instead.Note
The returned
Tensors are copies, and never alias the optimizer’sgroup["lr"]s.
- load_state_dict(state_dict: dict[str, Any]) None
Load the scheduler’s state.
- Parameters:
state_dict (dict) – scheduler state. Should be an object returned from a call to
state_dict().
- state_dict() dict[str, Any]
Return the state of the scheduler as a
dict.It contains an entry for every variable in
self.__dict__which is not the optimizer.
- step(epoch: int | None = None) None
Step the scheduler.
- Parameters:
epoch (int, optional) –
Deprecated since version 1.4: If provided, sets
last_epochtoepochand uses_get_closed_form_lr()if it is available. This is not universally supported. Usestep()without arguments instead.
Note
Call this method after calling the optimizer’s
step().
Help improve this page
Found an error, an unclear step, or a missing example?
