docstr: Constructs an instance for step decay learning rate scheduler.
  
  Args:
      step_size: number of train steps to reduce learning rate.
      base_lr: base learning rate.
      gamma: learning rate decay rate.
docstr_tok: ["Constructs","an","instance","for","step","decay","learning","rate","scheduler",".","Args",":","step_size",":","number","of","train","steps","to","reduce","learning","rate",".","base_lr",":","base","learning","rate",".","gamma",":","learning","rate","decay","rate","."]
code: def __init__(
      self,
      step_size: Union[float, List, Tuple],
      base_lr: float = 1.0,
      gamma: float = 0.1,
  ):
      """Constructs an instance for step decay learning rate scheduler.
  
      Args:
          step_size: number of train steps to reduce learning rate.
          base_lr: base learning rate.
          gamma: learning rate decay rate.
      """
      super().__init__(base_lr=base_lr)
      self.gamma = gamma
      self.step_size = step_size
  
file_path: objax/objax/optimizer/scheduler.py
imports: import abc
  from typing import List, Tuple, Union
  import jax.numpy
label_desc: Use image node_id 1 to create a new StepDecay object from inherited base classes: Scheduler with example: obj = StepDecay(step_size, base_lr, gamma)