class_docstr: Schedule that eases slowsly using a cosine.
code: def __init__(
      self,
      initial_value,
      decay_interval,
      decay_factor,
      max_decays,
      final_value=None,
  ):
      super().__init__()
      self.initial_value = initial_value
      self.decay_factor = decay_factor
      self.decay_interval = decay_interval
      self.max_decays = max_decays
      if final_value is None:
          final_value = (
              self.initial_value * self.decay_factor**self.max_decays
          )
      self.final_value = final_value
  
imports: import abc
  import collections
  import copy
  import math
  from typing import Any, Iterable, List, Tuple, Union
  from jax import numpy
label_desc: Use image node_id 1 to create a new StepSchedule object from inherited base classes: Schedule with example: obj = StepSchedule(initial_value, decay_interval, decay_factor, max_decays, final_value)