class_docstr: Decays the learning rate of each parameter group by gamma every epoch.
  When last_epoch=-1, sets initial lr as lr
  
  Args:
      optimizer (Union[:class:`torch.optim.Optimizer`, :class:`colossalai.nn.optimizer`]): Wrapped optimizer.
      total_steps (int): Number of total training steps.
      gamma (float, optional): Multiplicative factor of learning rate decay, defaults to 1.0.
      last_epoch (int, optional): The index of last epoch, defaults to -1.
class_docstr_tok: ["Decays","the","learning","rate","of","each","parameter","group","by","gamma","every","epoch",".","When","last_epoch=-1",",","sets","initial","lr","as","lr","Args",":","optimizer","(","Union","[",":","class",":","`","torch.optim.Optimizer","`",",",":","class",":","`","colossalai.nn.optimizer","`","]",")",":","Wrapped","optimizer",".","total_steps","(","int",")",":","Number","of","total","training","steps",".","gamma","(","float",",","optional",")",":","Multiplicative","factor","of","learning","rate","decay",",","defaults","to","1.0.","last_epoch","(","int",",","optional",")",":","The","index","of","last","epoch",",","defaults","to","-1","."]
code: def __init__(
      self,
      optimizer,
      total_steps,
      gamma: float = 1.0,
      last_epoch: int = -1,
  ) -> None:
      super().__init__(optimizer, gamma, last_epoch=last_epoch)
  
file_path: ColossalAI/colossalai/nn/lr_scheduler/torch.py
imports: from torch.optim.lr_scheduler import ExponentialLR
  from torch.optim.lr_scheduler import LambdaLR
  from torch.optim.lr_scheduler import MultiplicativeLR
  from torch.optim.lr_scheduler import StepLR
label_desc: Use image node_id 1 to create a new ExponentialLR object from inherited base classes: _ExponentialLR with example: obj = ExponentialLR(optimizer, total_steps, gamma, last_epoch)