code: def __init__(
      self,
      pruner: Pruner,
      interval_steps: int,
      total_times: int,
      evaluator: Evaluator | None = None,
  ):
      assert isinstance(pruner, Pruner)
      assert hasattr(pruner, "interval_steps") and hasattr(
          pruner, "total_times"
      )
      if not isinstance(
          pruner,
          (
              LevelPruner,
              L1NormPruner,
              L2NormPruner,
              FPGMPruner,
              SlimPruner,
              TaylorPruner,
          ),
      ):
          warning_msg = f"Compatibility not tested with pruner type {pruner.__class__.__name__}."
          _logger.warning(warning_msg)
      if pruner._is_wrapped:
          pruner.unwrap_model()
  
      model = pruner.bound_model
      existed_wrappers = pruner._module_wrappers
      if pruner.evaluator is not None and evaluator is not None:
          _logger.warning(
              "Pruner already has evaluator, the new evaluator passed to this function will be ignored."
          )
      evaluator = pruner.evaluator if pruner.evaluator else evaluator
      assert isinstance(evaluator, Evaluator)
  
      super().__init__(
          model=model,
          config_list=[],
          evaluator=evaluator,
          existed_wrappers=existed_wrappers,
      )
      # skip the pruner passed in
      self.fused_compressors.extend(pruner.fused_compressors[1:])
      self._target_spaces = pruner._target_spaces
      self.interval_steps = interval_steps
      self.total_times = total_times
      self.bound_pruner = pruner
  
      self._init_sparse_goals()
      self._initial_ratio = 0.0
  
imports: from __future__ import annotations
  from collections import defaultdict
  import logging
  from typing import Dict, List
  import torch
  from ..base.compressor import Pruner
  from ..base.wrapper import ModuleWrapper
  from ..utils import Evaluator, _EVALUATOR_DOCSTRING
  from .basic_pruner import LevelPruner, L1NormPruner, L2NormPruner, FPGMPruner
  from .slim_pruner import SlimPruner
  from .taylor_pruner import TaylorPruner
label_desc: Use image node_id 1 to create a new _ComboPruner object from inherited base classes: ScheduledPruner with example: obj = _ComboPruner(pruner, interval_steps, total_times, evaluator)