code: def quantize_neural_compressor(
      model: Module,
      quantization_type: QuantizationType,
      input_tfms: MultiStageTransformation,
      input_data: DataManager,
  ) -> GraphModule:
      if quantization_type is QuantizationType.STATIC:
          quantized_model = _quantize_static(model, input_data)
      elif quantization_type is QuantizationType.DYNAMIC:
          quantized_model = _quantize_dynamic(model)
      elif quantization_type is QuantizationType.HALF:
          quantized_model = _mixed_precision(model, input_tfms)
      else:
          raise ValueError(
              f"Quantization type {quantization_type} is not "
              f"supported by Intel Neural Compressor"
          )
      return quantized_model
  
file_path: nebuly/optimization/nebullvm/nebullvm/operations/optimizations/compilers/quantizations/intel_neural_compressor.py
imports: from pathlib import Path
  from tempfile import TemporaryDirectory
  from typing import Any
  import yaml
  from nebullvm.core.models import QuantizationType
  from nebullvm.optional_modules.neural_compressor import MixedPrecision, Quantization
  from nebullvm.optional_modules.torch import DataLoader, Module, GraphModule
  from nebullvm.tools.data import DataManager, PytorchDataset
  from nebullvm.tools.transformations import MultiStageTransformation, HalfPrecisionTransformation
label_desc: Use image node_id 7 for calling a global function with example usage: quantize_neural_compressor(model, quantization_type, input_tfms, input_data) and returns: quantized_model