code: def step_lr_schedulers(self, end_of_epoch=False):
      if self.lr_schedulers is not None:
          for k, v in self.lr_schedulers.items():
              if end_of_epoch and k.endswith(
                  self.allowed_lr_scheduler_key_suffixes["epoch"]
              ):
                  v.step()
              elif not end_of_epoch and k.endswith(
                  self.allowed_lr_scheduler_key_suffixes["iteration"]
              ):
                  v.step()
  
imports: import torch
  import tqdm
  from ..utils import common_functions
  from ..utils import loss_tracker
  from ..utils.key_checker import KeyChecker, KeyCheckerDict
label_desc: Use image node_id 18 for calling the BaseTrainer obj's underlying member method code with example usage: obj.step_lr_schedulers(end_of_epoch) without return types