class_docstr: Parent of all LRSchedules here. 
docstr: :param step:    which of t_total steps we're on
  :param nowarn:  set to True to suppress warning regarding training beyond specified 't_total' steps
  :return:        learning rate multiplier for current update
code: def get_lr(self, step, nowarn=False):
      """
      :param step:    which of t_total steps we're on
      :param nowarn:  set to True to suppress warning regarding training beyond specified 't_total' steps
      :return:        learning rate multiplier for current update
      """
      if self.t_total < 0:
          return 1.0
      progress = float(step) / self.t_total
      ret = self.get_lr_(progress)
      # warning for exceeding t_total (only active with warmup_linear
      if (
          not nowarn
          and self.warn_t_total
          and progress > 1.0
          and progress > self.warned_for_t_total_at_progress
      ):
          logger.warning(
              "Training beyond specified 't_total'. Learning rate multiplier set to {}. Please set 't_total' of {} correctly.".format(
                  ret, self.__class__.__name__
              )
          )
          self.warned_for_t_total_at_progress = progress
      # end warning
      return ret
  
imports: import math
  import torch
  from torch.optim.optimizer import Optimizer
  from torch.nn.utils import clip_grad_norm_
  import logging
  import abc
  import sys
label_desc: Use image node_id 2 for calling the _LRSchedule obj's underlying member method code with example usage: obj.get_lr(step, nowarn) and returns: ret, int