class_docstr: A simple linear schedule which decreases or increases over time from an initial to a final value
docstr: :param initial_value: the initial value
  :param final_value: the final value
  :param decay_steps: the number of steps that are required to decay the initial value to the final value
docstr_tok: [":","param","initial_value",":","the","initial","value",":","param","final_value",":","the","final","value",":","param","decay_steps",":","the","number","of","steps","that","are","required","to","decay","the","initial","value","to","the","final","value"]
code: def __init__(
      self, initial_value: float, final_value: float, decay_steps: int
  ):
      """
      :param initial_value: the initial value
      :param final_value: the final value
      :param decay_steps: the number of steps that are required to decay the initial value to the final value
      """
      super().__init__(initial_value)
      self.final_value = final_value
      self.decay_steps = decay_steps
      self.decay_delta = (initial_value - final_value) / float(
          decay_steps
      )
  
imports: from typing import List, Tuple
  import numpy
  from rl_coach.core_types import EnvironmentSteps
label_desc: Use image node_id 1 to create a new LinearSchedule object from inherited base classes: Schedule with example: obj = LinearSchedule(initial_value, final_value, decay_steps)