code: def get_output_info_tf(
      tf_model: Union[tf.Module, tf.keras.Model],
      input_tensors: List[tf.Tensor],
      device: Device,
  ) -> List[Tuple[Tuple[int, ...], DataType]]:
      with tf.device(device.to_tf_format()):
          outputs = tf_model(input_tensors)
      if isinstance(outputs, tf.Tensor) and outputs is not None:
          return [
              (
                  tuple(outputs.shape),
                  DataType.from_framework_format(outputs.dtype),
              )
          ]
      return [
          (tuple(x.shape), DataType.from_framework_format(x.dtype))
          for x in outputs
      ]
  
file_path: nebuly/optimization/nebullvm/nebullvm/tools/tf.py
imports: from typing import Union, List, Tuple, Any, Optional, Dict
  import numpy
  from loguru import logger
  from nebullvm.core.models import Device, DataType, InputInfo
  from nebullvm.optional_modules.tensorflow import tensorflow
label_desc: Use image node_id 1 for calling a global function with example usage: get_output_info_tf(tf_model, input_tensors, device) and returns: unknown, list