code: def signature(program, inputs, backend):
      """Computes a type signature for the given `inputs`.
  
      Args:
        program: `instructions.Program` for whose inputs to compute the signature.
        inputs: A `list` of backend-compatible tensors aligned with
          `program.vars_in`.
        backend: Backend implementation.
  
      Returns:
        sig: A `list` of (patterns of) `instructions.TensorType` aligned with
          `program.vars_in`.
      """
      # Include whatever type information is pre-specified.
      return [
          _strip_batch_dim(
              type_of_pattern(
                  val, backend, preferred_type=program.var_defs[varname]
              )
          )
          for varname, val in zip(program.vars_in, inputs)
      ]
  
file_path: probability/tensorflow_probability/python/experimental/auto_batching/type_inference.py
imports: import contextlib
  import functools
  from absl import logging
  import six
  from tensorflow_probability.python.experimental.auto_batching import instructions
label_desc: Use image node_id 12 for calling a global function with example usage: signature(program, inputs, backend) and returns: unknown