code: def _execution(self, model, calib_dataloader, metric):
      self.model = common.Model(model)
  
      class MyMetric(self._inc_metric_cls):
          def __init__(self):
              """
              This local class is to resolve dumping issue in tensorflow.
              In tensorflow, INC will try to dump the metric to yaml which
              somehow causes unexpected error. So we moved metric assignment
              to the new local class to avoid that.
              """
              self.metric = metric
  
      metric_kwargs = None
      if metric:
          metric_name = type(metric).__name__
          metric_id = self._inc_metric_cls.get_next_metric_id()
          metric_kwargs = {
              "metric_cls": MyMetric,
              "name": f"pytorch_{metric_name}_{metric_id}",
          }
  
      if self.cfg.quantization.approach == "post_training_static_quant":
          self.calib_dataloader = calib_dataloader
      if metric_kwargs:
          self.eval_dataloader = calib_dataloader
          self.metric = common.Metric(**metric_kwargs)
      quantized = self()
  
      if quantized:
          return quantized
      else:
          invalidInputError(
              False,
              "Found no quantized model satisfying accuracy criterion.",
          )
  
file_path: BigDL/python/nano/src/bigdl/nano/deps/neural_compressor/core/quantization.py
imports: from bigdl.nano.utils.common import invalidInputError
  from neural_compressor.conf.config import Quantization_Conf
  from neural_compressor.experimental import Quantization, common
label_desc: Use image node_id 4 for calling the BaseQuantization obj's underlying member method code with example usage: obj._execution(model, calib_dataloader, metric) and returns: quantized