docstr: Returns learning rate or multiplier at certain step.
  
  Args:
      step: number of training step. When 0, we use the step counter.
  
  Returns:
      learning rate when base_lr is provided; otherwise,
      only multiplier is returned.
docstr_tok: ["Returns","learning","rate","or","multiplier","at","certain","step",".","Args",":","step",":","number","of","training","step",".","When","0",",","we","use","the","step","counter",".","Returns",":","learning","rate","when","base_lr","is","provided",";","otherwise",",","only","multiplier","is","returned","."]
code: def __call__(self, step: float):
      """Returns learning rate or multiplier at certain step.
  
      Args:
          step: number of training step. When 0, we use the step counter.
  
      Returns:
          learning rate when base_lr is provided; otherwise,
          only multiplier is returned.
      """
      return self.base_lr * self.multiplier(step)
  
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 3 for calling the Scheduler obj's underlying member method code with example usage: obj.__call__(step) and returns: unknown