class_docstr: Set hyper parameters by a predefined step-based scheduler.
      
docstr: Piecewise scheduler of hyper parameter.
  
  Args:
      scheduler_list: list of (step, value) pair. E.g. [(0, 0.001), (10000, 0.0005)]
code: def __init__(self, scheduler_list):
      """Piecewise scheduler of hyper parameter.
  
      Args:
          scheduler_list: list of (step, value) pair. E.g. [(0, 0.001), (10000, 0.0005)]
      """
      assert len(scheduler_list) > 0
  
      for i in six.moves.range(len(scheduler_list) - 1):
          assert (
              scheduler_list[i][0] < scheduler_list[i + 1][0]
          ), "step of scheduler_list should be incremental."
  
      self.scheduler_list = scheduler_list
  
      self.cur_index = 0
      self.cur_step = 0
      self.cur_value = self.scheduler_list[0][1]
  
      self.scheduler_num = len(self.scheduler_list)
  
file_path: PARL/parl/utils/scheduler.py
imports: import six
label_desc: Use image node_id 1 to create a new PiecewiseScheduler object from inherited base classes: object with example: obj = PiecewiseScheduler(scheduler_list)