ParamScheduler#
- class ignite.handlers.param_scheduler.ParamScheduler(optimizer, param_name, save_history=False, param_group_index=None)[source]#
An abstract class for updating an optimizer’s parameter value during training.
- Parameters
optimizer (Optimizer) – torch optimizer or any object with attribute
param_groupsas a sequence.param_name (str) – name of optimizer’s parameter to update.
save_history (bool) – whether to log the parameter values to engine.state.param_history, (default=False).
param_group_index (int | None) – optimizer’s parameters group to use
Note
Parameter scheduler works independently of the internal state of the attached optimizer. More precisely, whatever the state of the optimizer (newly created or used by another scheduler) the scheduler sets defined absolute values.
Methods
Attach the handler to the engine.
Method to simulate scheduled values during num_events events.
- attach(engine, event=Events.ITERATION_STARTED)[source]#
Attach the handler to the engine.
- Parameters
engine (Engine) – trainer to which the handler will be attached.
event (str | ignite.engine.events.Events | ignite.engine.events.CallableEventWithFilter | ignite.engine.events.EventsList) – trigger event to update the param value.
- Return type
None
New in version 0.5.4.
- classmethod simulate_values(num_events, **scheduler_kwargs)[source]#
Method to simulate scheduled values during num_events events.
- Parameters
- Returns
event_index, value
- Return type
Examples:
lr_values = np.array(LinearCyclicalScheduler.simulate_values(num_events=50, param_name='lr', start_value=1e-1, end_value=1e-3, cycle_size=10)) plt.plot(lr_values[:, 0], lr_values[:, 1], label="learning rate") plt.xlabel("events") plt.ylabel("values") plt.legend()