code: def on_end_epoch(self, state):
      if not self._step_on_batch:
          if self._monitor is not None:
              current = get_metric("Scheduler", state, self._monitor)
              if current is None:
                  return
              self._step(state, current)
          else:
              self._step(state)
  
imports: import functools
  import warnings
  import torch
  import torchbearer
  from torchbearer.bases import get_metric, _pytorch_version_lt, _pytorch_version_gt
  from torchbearer.callbacks import Callback
label_desc: Use image node_id 7 for calling the TorchScheduler obj's underlying member method code with example usage: obj.on_end_epoch(state) without return types