class_docstr: SignatureRunner class for running TFLite models using SignatureDef.
  
  This class should be instantiated through TFLite Interpreter only using
  get_signature_runner method on Interpreter.
  Example,
  signature = interpreter.get_signature_runner("my_signature")
  result = signature(input_1=my_input_1, input_2=my_input_2)
  print(result["my_output"])
  print(result["my_second_output"])
  All names used are this specific SignatureDef names.
  
  Notes:
    No other function on this object or on the interpreter provided should be
    called while this object call has not finished.
class_docstr_tok: ["SignatureRunner","class","for","running","TFLite","models","using","SignatureDef",".","This","class","should","be","instantiated","through","TFLite","Interpreter","only","using","get_signature_runner","method","on","Interpreter",".","Example",",","signature","=","interpreter.get_signature_runner","(","``","my_signature","''",")","result","=","signature","(","input_1=my_input_1",",","input_2=my_input_2",")","print","(","result","[","``","my_output","''","]",")","print","(","result","[","``","my_second_output","''","]",")","All","names","used","are","this","specific","SignatureDef","names",".","Notes",":","No","other","function","on","this","object","or","on","the","interpreter","provided","should","be","called","while","this","object","call","has","not","finished","."]
docstr: Runs the SignatureDef given the provided inputs in arguments.
  
  Args:
    **kwargs: key,value for inputs to the model. Key is the SignatureDef input
      name. Value is numpy array with the value.
  
  Returns:
    dictionary of the results from the model invoke.
    Key in the dictionary is SignatureDef output name.
    Value is the result Tensor.
code: def __call__(self, **kwargs):
      """Runs the SignatureDef given the provided inputs in arguments.
  
      Args:
        **kwargs: key,value for inputs to the model. Key is the SignatureDef input
          name. Value is numpy array with the value.
  
      Returns:
        dictionary of the results from the model invoke.
        Key in the dictionary is SignatureDef output name.
        Value is the result Tensor.
      """
  
      if len(kwargs) != len(self._inputs):
          raise ValueError(
              "Invalid number of inputs provided for running a SignatureDef, "
              "expected %s vs provided %s"
              % (len(self._inputs), len(kwargs))
          )
  
      # Resize input tensors
      for input_name, value in kwargs.items():
          if input_name not in self._inputs:
              raise ValueError(
                  "Invalid Input name (%s) for SignatureDef"
                  % input_name
              )
          self._interpreter_wrapper.ResizeInputTensor(
              self._inputs[input_name],
              np.array(value.shape, dtype=np.int32),
              False,
              self._subgraph_index,
          )
      # Allocate tensors.
      self._interpreter_wrapper.AllocateTensors(self._subgraph_index)
      # Set the input values.
      for input_name, value in kwargs.items():
          self._interpreter_wrapper.SetTensor(
              self._inputs[input_name], value, self._subgraph_index
          )
  
      self._interpreter_wrapper.Invoke(self._subgraph_index)
      result = {}
      for output_name, output_index in self._outputs:
          result[output_name] = self._interpreter_wrapper.GetTensor(
              output_index, self._subgraph_index
          )
      return result
  
imports: import ctypes
  import enum
  import os
  import platform
  import sys
  import numpy
label_desc: Use image node_id 2 for calling the SignatureRunner obj's underlying member method code with example usage: obj.__call__() and returns: result