class_docstr: Set hyper parameters by a step-based scheduler with linear decay values.
      
docstr: Step step_num and fetch value according to following rule:
  
  return_value = start_value * (1.0 - (cur_steps / max_steps))
  
  Args:
      step_num (int): number of steps (default: 1)
  
  Returns:
      value (float): current value
code: def step(self, step_num=1):
      """Step step_num and fetch value according to following rule:
  
      return_value = start_value * (1.0 - (cur_steps / max_steps))
  
      Args:
          step_num (int): number of steps (default: 1)
  
      Returns:
          value (float): current value
      """
      assert isinstance(step_num, int) and step_num >= 1
      self.cur_step = min(self.cur_step + step_num, self.max_steps)
  
      value = self.start_value * (
          1.0 - ((self.cur_step * 1.0) / self.max_steps)
      )
  
      return value
  
file_path: PARL/parl/utils/scheduler.py
imports: import six
label_desc: Use image node_id 2 for calling the LinearDecayScheduler obj's underlying member method code with example usage: obj.step(step_num) and returns: value