class_docstr: Multiplies the noise_multiplier by gamma every epoch (so the gamma factors accumulate).
  This means that:
      - For gamma < 1, noise_multiplier will shrink
      - For gamma == 1, no effect
      - For gamma > 1, noise_multiplier will expand
  
  When last_epoch=-1, sets initial noise_multiplier as noise_multiplier.
class_docstr_tok: ["Multiplies","the","noise_multiplier","by","gamma","every","epoch","(","so","the","gamma","factors","accumulate",")",".","This","means","that",":","-","For","gamma","<","1",",","noise_multiplier","will","shrink","-","For","gamma","==","1",",","no","effect","-","For","gamma",">","1",",","noise_multiplier","will","expand","When","last_epoch=-1",",","sets","initial","noise_multiplier","as","noise_multiplier","."]
docstr: Args:
      optimizer: Wrapped optimizer
      gamma: Multiplicative factor of learning rate decay.
      last_epoch: The index of last epoch. Default: -1.
docstr_tok: ["Args",":","optimizer",":","Wrapped","optimizer","gamma",":","Multiplicative","factor","of","learning","rate","decay",".","last_epoch",":","The","index","of","last","epoch",".","Default",":","-1","."]
code: def __init__(
      self,
      optimizer: DPOptimizer,
      *,
      gamma: float,
      last_epoch: int = -1,
  ):
      """
  
      Args:
          optimizer: Wrapped optimizer
          gamma: Multiplicative factor of learning rate decay.
          last_epoch: The index of last epoch. Default: -1.
      """
      self.gamma = gamma
      super().__init__(optimizer, last_epoch=last_epoch)
  
file_path: opacus/opacus/schedulers/noise_scheduler.py
imports: from typing import Callable, Dict
  from opacus.optimizers import DPOptimizer
label_desc: Use image node_id 1 to create a new ExponentialNoise object from inherited base classes: _NoiseScheduler with example: obj = ExponentialNoise(optimizer)