code: def _quantize_static_torch(
      model: Module,
      input_data: List[Tuple[torch.Tensor, ...]],
      backend: str,
  ):
      model = _QuantWrapper(model)
      model.qconfig = torch.quantization.get_default_qconfig(backend)
      # TODO: change line below, it's wrong
      # model = torch.quantization.fuse_modules(model, [["conv", "relu"]])
      model = torch.quantization.prepare(model)
      with torch.no_grad():
          for tensors in input_data:
              _ = model(*tensors)
      return torch.quantization.convert(model)
  
file_path: nebuly/optimization/nebullvm/nebullvm/operations/optimizations/compilers/quantizations/pytorch.py
imports: import copy
  from typing import List, Tuple, Union
  from loguru import logger
  from nebullvm.core.models import DeviceType, Device, QuantizationType
  from nebullvm.optional_modules.torch import torch, Module, symbolic_trace, QuantStub, DeQuantStub, GraphModule, default_dynamic_qconfig, prepare_fx, convert_fx, ScriptModule
  from nebullvm.tools.transformations import MultiStageTransformation, HalfPrecisionTransformation
  from nebullvm.tools.utils import check_module_version
label_desc: Use image node_id 3 for calling a global function with example usage: _quantize_static_torch(model, input_data, backend) and returns: torch