code: def get_lr(self, step, nowarn=False):
          
          if self.t_total < 0:
              return 1.
          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. 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
docs: :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