class_docstr: Set the learning rate of each parameter group to the initial lr decayed 
      by gamma once the number of epoch reaches one of the milestones. 
      When last_epoch=-1, sets initial lr as lr.
  params:
    lr (flaot) : init learning rate
    milestones (list) : List of epoch indices. Must be increasing.
    gamma (float) : Multiplicative factor of learning rate decay. Default: 0.1.
    last_epoch (int) : The index of last epoch. Default: -1.
class_docstr_tok: ["Set","the","learning","rate","of","each","parameter","group","to","the","initial","lr","decayed","by","gamma","once","the","number","of","epoch","reaches","one","of","the","milestones",".","When","last_epoch=-1",",","sets","initial","lr","as","lr",".","params",":","lr","(","flaot",")",":","init","learning","rate","milestones","(","list",")",":","List","of","epoch","indices",".","Must","be","increasing",".","gamma","(","float",")",":","Multiplicative","factor","of","learning","rate","decay",".","Default",":","0.1.","last_epoch","(","int",")",":","The","index","of","last","epoch",".","Default",":","-1","."]
code: def before_run(self, run_context):
      return tf.train.SessionRunArgs(
          self._global_step_tensor,  # Asks for global step value.
          feed_dict={self._lrn_rate_tensor: self._lrn_rate},
      )
  
imports: import delta.compat
  from bisect import bisect_right
  from absl import logging
label_desc: Use image node_id 4 for calling the MultiStepLRHook obj's underlying member method code with example usage: obj.before_run(run_context) and returns: tf