class_docstr: Sets the sparsity level of each parameter group to the final sl
  plus a given exponential function.
  
  .. math::
  
      s_i = s_f + (s_0 - s_f) \cdot \left( 1 - \frac{t - t_0}{n\Delta t} \right)^3
  
  where :math:`s_i` is the sparsity at epoch :math:`t`, :math;`s_f` is the final
  sparsity level, :math:`f(i)` is the function to be applied to the current epoch
  :math:`t`, initial epoch :math:`t_0`, and final epoch :math:`t_f`.
  :math:`\Delta t` is used to control how often the update of the sparsity level
  happens. By default,
  
  Args:
      sparsifier (BaseSparsifier): Wrapped sparsifier.
      init_sl (int, list): Initial level of sparsity
      init_t (int, list): Initial step, when pruning starts
      delta_t (int, list): Pruning frequency
      total_t (int, list): Total number of pruning steps
      initially_zero (bool, list): If True, sets the level of sparsity to 0
          before init_t (:math:`t_0`). Otherwise, the sparsity level before
          init_t (:math:`t_0`) is set to init_sl(:math:`s_0`)
      last_epoch (int): The index of last epoch. Default: -1.
      verbose (bool): If ``True``, prints a message to stdout for
          each update. Default: ``False``.
code: def __init__(
      self,
      sparsifier,
      init_sl=0.0,
      init_t=0,
      delta_t=10,
      total_t=100,
      initially_zero=False,
      last_epoch=-1,
      verbose=False,
  ):
      self.sparsifier = sparsifier
  
      self.init_sl = self._make_sure_a_list(init_sl)
      self.init_t = self._make_sure_a_list(init_t)
      self.delta_t = self._make_sure_a_list(delta_t)
      self.total_t = self._make_sure_a_list(total_t)
  
      self.initially_zero = self._make_sure_a_list(initially_zero)
  
      super().__init__(sparsifier, last_epoch, verbose)
  
file_path: pytorch/torch/ao/pruning/scheduler/cubic_scheduler.py
imports: import warnings
  from .base_scheduler import BaseScheduler
label_desc: Use image node_id 1 to create a new CubicSL object from inherited base classes: BaseScheduler with example: obj = CubicSL(sparsifier, init_sl, init_t, delta_t, total_t, initially_zero, last_epoch, verbose)