class_docstr: Save the state of an LR scheduler callback after every epoch. The LR scheduler callback should
  not be passed to the fit*() methods since it is called by this callback instead. The LR
  scheduler can be reloaded as follows.
  
  .. code-block:: python
  
      lr_scheduler = AnLRSchedulerCallback(...)
      lr_scheduler.load_state(filename)
  
  See :class:`~poutyne.PeriodicSaveCallback` for the arguments' descriptions.
  
  Args:
      lr_scheduler: An LR scheduler callback.
  
  See:
      :class:`~poutyne.PeriodicSaveCallback`
code: def on_train_batch_begin(self, batch_number: int, logs: Dict):
      self.lr_scheduler.on_train_batch_begin(batch_number, logs)
      super().on_train_batch_begin(batch_number, logs)
  
imports: import warnings
  from typing import IO, Dict
  import torch
  from poutyne.framework.callbacks.lr_scheduler import ReduceLROnPlateau, _PyTorchLRSchedulerWrapper
  from poutyne.framework.callbacks.periodic import PeriodicSaveCallback
  from poutyne.utils import load_random_states, save_random_states
label_desc: Use image node_id 8 for calling the LRSchedulerCheckpoint obj's underlying member method code with example usage: obj.on_train_batch_begin(batch_number, logs) without return types