class_docstr: Base class for the abstract InputSource. 
class_docstr_tok: ["Base","class","for","the","abstract","InputSource","."]
docstr: Args:
      input_signature (list[tf.TensorSpec]): list of specs for each input tensor
  
  Returns:
      list[Callback]: extra callbacks needed by this InputSource.
      callbacks of InputSource cannot use any `trigger*()` method.
docstr_tok: ["Args",":","input_signature","(","list","[","tf.TensorSpec","]",")",":","list","of","specs","for","each","input","tensor","Returns",":","list","[","Callback","]",":","extra","callbacks","needed","by","this","InputSource",".","callbacks","of","InputSource","can","not","use","any","`","trigger","*","(",")","`","method","."]
code: def setup(self, input_signature):
      """
      Args:
          input_signature (list[tf.TensorSpec]): list of specs for each input tensor
  
      Returns:
          list[Callback]: extra callbacks needed by this InputSource.
          callbacks of InputSource cannot use any `trigger*()` method.
      """
      self._setup(input_signature)
      self._setup_done = True
      return self.get_callbacks()
  
imports: import copy
  from abc import ABCMeta, abstractmethod
  from contextlib import contextmanager
  import six
  import tensorflow
  from ..callbacks.base import CallbackFactory
  from ..tfutils.common import get_op_tensor_name
  from ..utils import logger
  from ..utils.argtools import call_only_once, memoized_method
  from ..compat import tfv1
label_desc: Use image node_id 3 for calling the InputSource obj's underlying member method code with example usage: obj.setup(input_signature) and returns: self