code: def run(self, *input_tensors: tf.Tensor):
      input_details = self.interpreter.get_input_details()
      output_details = self.interpreter.get_output_details()
      if self.network_parameters.dynamic_info:
          for i, (input_tensor, detail) in enumerate(
              zip(input_tensors, input_details)
          ):
              if input_tensor.shape != tuple(detail["shape"]):
                  self.interpreter.resize_tensor_input(
                      i, input_tensor.shape
                  )
      self.interpreter.allocate_tensors()
      for i, input_tensor in enumerate(input_tensors):
          self.interpreter.set_tensor(i, input_tensor)
      self.interpreter.invoke()
      return tuple(
          tf.convert_to_tensor(
              self.interpreter.get_tensor(output_detail["index"])
          )
          for output_detail in output_details
      )
  
imports: import pickle
  from pathlib import Path
  from typing import Tuple, Union, Dict, Type
  from nebullvm.config import TENSORFLOW_BACKEND_FILENAMES
  from nebullvm.core.models import DeviceType, Device, ModelParams
  from nebullvm.operations.inference_learners.base import TensorflowBaseInferenceLearner, LearnerMetadata
  from nebullvm.optional_modules.tensorflow import tensorflow
label_desc: Use image node_id 4 for calling the TFLiteBackendInferenceLearner obj's underlying member method code with example usage: obj.run() and returns: tuple