class_docstr: Learning rate scheduler that performs linear warmup and exponential annealing.
  
  Args:
      optimizer (torch.optim.Optimizer): optimizer to use.
      warmup_steps (int): number of scheduler steps for which to warm up learning rate.
      force_anneal_step (int): scheduler step at which annealing of learning rate begins.
      anneal_factor (float): factor to scale base learning rate by at each annealing step.
      last_epoch (int, optional): The index of last epoch. (Default: -1)
      verbose (bool, optional): If ``True``, prints a message to stdout for
          each update. (Default: ``False``)
code: def get_lr(self):
      if self._step_count < self.force_anneal_step:
          return [
              (min(1.0, self._step_count / self.warmup_steps)) * base_lr
              for base_lr in self.base_lrs
          ]
      else:
          scaling_factor = self.anneal_factor ** (
              self._step_count - self.force_anneal_step
          )
          return [scaling_factor * base_lr for base_lr in self.base_lrs]
  
imports: import logging
  import math
  from collections import namedtuple
  from typing import List, Tuple
  import sentencepiece
  import torch
  import torchaudio
  from pytorch_lightning import LightningModule
  from torchaudio.prototype.models import conformer_rnnt_biasing_base, Hypothesis, RNNTBeamSearchBiasing
label_desc: Use image node_id 2 for calling the WarmupLR obj's underlying member method code with example usage: obj.get_lr() and returns: unknown, unknown