class_docstr: Model optimized on CPU using IntelNeuralCompressor.
  
  Attributes:
      network_parameters (ModelParams): The model parameters as batch
              size, input and output sizes.
      model (torch.fx.GraphModule): Torch fx graph model.
docstr: Predict on the input tensors.
  
  Note that the input tensors must be on the same batch. If a sequence
  of tensors is given when the model is expecting a single input tensor
  (with batch size >= 1) an error is raised.
  
  Args:
      input_tensors (Tuple[Tensor]): Input tensors belonging to the same
          batch. The tensors are expected having dimensions
          (batch_size, dim1, dim2, ...).
  
  Returns:
      Tuple[Tensor]: Output tensors. Note that the output tensors does
          not correspond to the prediction on the input tensors with a
          1 to 1 mapping. In fact the output tensors are produced as the
          multiple-output of the model given a (multi-) tensor input.
docstr_tok: ["Predict","on","the","input","tensors",".","Note","that","the","input","tensors","must","be","on","the","same","batch",".","If","a","sequence","of","tensors","is","given","when","the","model","is","expecting","a","single","input","tensor","(","with","batch","size",">","=","1",")","an","error","is","raised",".","Args",":","input_tensors","(","Tuple","[","Tensor","]",")",":","Input","tensors","belonging","to","the","same","batch",".","The","tensors","are","expected","having","dimensions","(","batch_size",",","dim1",",","dim2",",","...",")",".","Returns",":","Tuple","[","Tensor","]",":","Output","tensors",".","Note","that","the","output","tensors","does","not","correspond","to","the","prediction","on","the","input","tensors","with","a","1","to","1","mapping",".","In","fact","the","output","tensors","are","produced","as","the","multiple-output","of","the","model","given","a","(","multi-",")","tensor","input","."]
code: def run(self, *input_tensors: torch.Tensor) -> Tuple[torch.Tensor]:
      """Predict on the input tensors.
  
      Note that the input tensors must be on the same batch. If a sequence
      of tensors is given when the model is expecting a single input tensor
      (with batch size >= 1) an error is raised.
  
      Args:
          input_tensors (Tuple[Tensor]): Input tensors belonging to the same
              batch. The tensors are expected having dimensions
              (batch_size, dim1, dim2, ...).
  
      Returns:
          Tuple[Tensor]: Output tensors. Note that the output tensors does
              not correspond to the prediction on the input tensors with a
              1 to 1 mapping. In fact the output tensors are produced as the
              multiple-output of the model given a (multi-) tensor input.
      """
      inputs = (t.cpu() for t in input_tensors)
      outputs = self.model_quant(*inputs)
  
      if isinstance(outputs, torch.Tensor):
          outputs = (outputs,)
  
      return outputs
  
imports: from abc import ABC
  from pathlib import Path
  from typing import Union, Tuple, Dict, Type
  from loguru import logger
  from nebullvm.core.models import Device, ModelParams, DeepLearningFramework
  from nebullvm.operations.inference_learners.base import BaseInferenceLearner, LearnerMetadata, PytorchBaseInferenceLearner
  from nebullvm.optional_modules.neural_compressor import cfgs_to_fx_cfgs, cfg_to_qconfig
  from nebullvm.optional_modules.torch import torch, prepare_fx, convert_fx, Module, GraphModule
  from nebullvm.tools.pytorch import save_with_torch_fx, load_with_torch_fx, create_model_inputs_torch, get_torch_model_size
  from nebullvm.tools.transformations import MultiStageTransformation
  from nebullvm.tools.utils import check_module_version
label_desc: Use image node_id 2 for calling the PytorchNeuralCompressorInferenceLearner obj's underlying member method code with example usage: obj.run() and returns: outputs