class_docstr: Multiplies `noise_multiplier` by `gamma` every `step_size` epochs (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","`","noise_multiplier","`","by","`","gamma","`","every","`","step_size","`","epochs","(","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","."]
code: def get_noise_multiplier(self):
      # Only change noise_multiplier when at a 'step'
      if self.last_epoch == 0 or self.last_epoch % self.step_size != 0:
          return self.optimizer.noise_multiplier
      else:
          return self.gamma * self.optimizer.noise_multiplier
  
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 2 for calling the StepNoise obj's underlying member method code with example usage: obj.get_noise_multiplier() and returns: self, unknown