LinearParamScheduler¶
- class mmengine.optim.LinearParamScheduler(optimizer, param_name, start_factor=0.3333333333333333, end_factor=1.0, begin=0, end=1000000000, last_step=-1, by_epoch=True, verbose=False)[source]¶
Decays the parameter value of each parameter group by linearly changing small multiplicative factor until the number of epoch reaches a pre-defined milestone:
end
.Notice that such decay can happen simultaneously with other changes to the parameter value from outside this scheduler.
- Parameters:
optimizer (Optimizer or BaseOptimWrapper) – optimizer or Wrapped optimizer.
param_name (str) – Name of the parameter to be adjusted, such as
lr
,momentum
.start_factor (float) – The number we multiply parameter value in the first epoch. The multiplication factor changes towards end_factor in the following epochs. Defaults to 1./3.
end_factor (float) – The number we multiply parameter value at the end of linear changing process. Defaults to 1.0.
begin (int) – Step at which to start updating the parameters. Defaults to 0.
end (int) – Step at which to stop updating the parameters. Defaults to INF.
last_step (int) – The index of last step. Used for resume without state dict. Defaults to -1.
by_epoch (bool) – Whether the scheduled parameters are updated by epochs. Defaults to True.
verbose (bool) – Whether to print the value for each update. Defaults to False.