class_docstr: Used to schedule different compression methods
class_docstr_tok: ["Used","to","schedule","different","compression","methods"]
code: def make_init(self):
      self.different_compression_methods = {}
      for method, method_content in self.compression_config.items():
          if LAYER_REDUCTION in method:
              continue
          self.different_compression_methods[method] = {
              TECHNIQUE_ENABLED: False,
              SHARED_PARAMETERS: None,
              DIFFERENT_GROUPS: [],
          }
          exist_module_name = set()
          shared_parameters = method_content[SHARED_PARAMETERS]
          self.different_compression_methods[method][
              TECHNIQUE_ENABLED
          ] = shared_parameters[TECHNIQUE_ENABLED]
          self.different_compression_methods[method][
              SHARED_PARAMETERS
          ] = shared_parameters
  
          for group_name, method_parameters in method_content[
              DIFFERENT_GROUPS
          ].items():
              module_name_list = []
              for key_word in method_parameters[
                  DIFFERENT_GROUPS_MODULE_SCOPE
              ]:
                  module_name, exist_module_name = get_module_name(
                      group_name,
                      self.model,
                      key_word,
                      exist_module_name,
                      verbose=False,
                  )
                  module_name_list.extend(module_name)
              if module_name_list:
                  self.different_compression_methods[method][
                      DIFFERENT_GROUPS
                  ].append(
                      [
                          group_name,
                          module_name_list,
                          method_parameters.copy().pop("params"),
                      ]
                  )
  
file_path: H2O/h2o_flexgen/benchmark/third_party/DeepSpeed/deepspeed/compression/scheduler.py
imports: from .compress import get_module_name
  from .constants import *
  from .helper import recursive_getattr
  from deepspeed.utils import logger
label_desc: Use image node_id 2 for calling the compression_scheduler obj's underlying member method code with example usage: obj.make_init() without return types