class_docstr: Learning Rate Scheduler Plugin.
  
  This plugin manages learning rate scheduling inside of a strategy using the
  PyTorch scheduler passed to the constructor. The step() method of the
  scheduler is called after each training epoch or iteration.
  
  Metric-based schedulers (like ReduceLROnPlateau) are supported as well.
class_docstr_tok: ["Learning","Rate","Scheduler","Plugin",".","This","plugin","manages","learning","rate","scheduling","inside","of","a","strategy","using","the","PyTorch","scheduler","passed","to","the","constructor",".","The","step","(",")","method","of","the","scheduler","is","called","after","each","training","epoch","or","iteration",".","Metric-based","schedulers","(","like","ReduceLROnPlateau",")","are","supported","as","well","."]
code: def after_training_epoch(
      self, strategy: "SupervisedTemplate", **kwargs
  ):
      if self.step_granularity == "epoch" and self.metric in [
          None,
          "train_loss",
      ]:
          self._step_scheduler(strategy, **kwargs)
  
imports: import warnings
  from typing import TYPE_CHECKING
  from typing_extensions import Literal
  from avalanche.evaluation.metrics import Mean
  from avalanche.training.plugins import SupervisedPlugin
  import inspect
label_desc: Use image node_id 2 for calling the LRSchedulerPlugin obj's underlying member method code with example usage: obj.after_training_epoch(strategy) without return types