code: def get_output_info_onnx(
      onnx_model: str, input_tensors: List[np.ndarray], device
  ) -> List[Tuple[Tuple[int, ...], DataType]]:
      res = run_onnx_model(onnx_model, input_tensors, device)
      sizes = [
          (
              tuple(output.shape),
              DataType.from_framework_format(output.dtype),
          )
          for output in res
      ]
      return sizes
  
file_path: nebuly/optimization/nebullvm/nebullvm/tools/onnx.py
imports: from typing import List, Tuple, Any, Optional, Dict
  import numpy
  from loguru import logger
  from nebullvm.config import ONNX_PROVIDERS
  from nebullvm.core.models import DeepLearningFramework, Device, DeviceType, InputInfo, DataType
  from nebullvm.optional_modules.onnx import onnx
  from nebullvm.optional_modules.onnxruntime import onnxruntime
  from nebullvm.optional_modules.tensorflow import tensorflow
  from nebullvm.optional_modules.torch import torch
label_desc: Use image node_id 8 for calling a global function with example usage: get_output_info_onnx(onnx_model, input_tensors, device) and returns: sizes