class_docstr: Reduce LR on plateau 
class_docstr_tok: ["Reduce","LR","on","plateau"]
code: def step_rop(self, metrics, do_eval, epoch=None):
      assert epoch is None
      epoch = self.last_epoch + 1
      if epoch <= self.warmup_epochs:
          factor = epoch / self.warmup_epochs
          self.last_epoch = epoch
          for i, param_group in enumerate(self.optimizer.param_groups):
              param_group["lr"] = self.base_lrs[i] * factor
      elif not do_eval:
          pass
      else:
          super().step(metrics, epoch=epoch)
  
imports: from typing import List
  import torch
  from torch.optim.lr_scheduler import _LRScheduler
  from torch.optim.lr_scheduler import ReduceLROnPlateau
label_desc: Use image node_id 2 for calling the ReduceLROnPlateauWarmup obj's underlying member method code with example usage: obj.step_rop(metrics, do_eval, epoch) without return types