class_docstr: Groups wrapped layer call functions.
  
  This is used to ensure that all layer call functions are traced with the same
  inputs-
    - call
    - call_and_return_conditional_losses
    - call_and_return_all_conditional_losses
class_docstr_tok: ["Groups","wrapped","layer","call","functions",".","This","is","used","to","ensure","that","all","layer","call","functions","are","traced","with","the","same","inputs-","-","call","-","call_and_return_conditional_losses","-","call_and_return_all_conditional_losses"]
docstr: Traces all functions with the same args and kwargs.
  
  Args:
    *args: Positional args passed to the original function.
    **kwargs: Keyword args passed to the original function.
docstr_tok: ["Traces","all","functions","with","the","same","args","and","kwargs",".","Args",":","*","args",":","Positional","args","passed","to","the","original","function",".","*","*","kwargs",":","Keyword","args","passed","to","the","original","function","."]
code: def add_trace(self, *args, **kwargs):
      """Traces all functions with the same args and kwargs.
  
      Args:
        *args: Positional args passed to the original function.
        **kwargs: Keyword args passed to the original function.
      """
      args = list(args)
      kwargs = kwargs.copy()
  
      for fn in self._functions.values():
          # TODO(kathywu): Replace arguments with broader shapes defined in the
          # input signature.
          if self._expects_training_arg:
  
              def trace_with_training(value, fn=fn):
                  utils.set_training_arg(
                      value, self._training_arg_index, args, kwargs
                  )
                  add_trace_to_queue(fn, args, kwargs, value)
  
              trace_with_training(True)
              trace_with_training(False)
          else:
              add_trace_to_queue(fn, args, kwargs)
  
imports: import functools
  import threading
  import weakref
  from tensorflow.python.eager import def_function
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import tensor_spec
  from tensorflow.python.keras import backend
  from tensorflow.python.keras.engine import base_layer_utils
  from tensorflow.python.keras.engine import input_spec
  from tensorflow.python.keras.mixed_precision import autocast_variable
  from tensorflow.python.keras.saving import saving_utils
  from tensorflow.python.keras.saving.saved_model import constants
  from tensorflow.python.keras.saving.saved_model import load
  from tensorflow.python.keras.saving.saved_model import serialized_attributes
  from tensorflow.python.keras.saving.saved_model import utils
  from tensorflow.python.keras.utils import tf_contextlib
  from tensorflow.python.keras.utils import tf_inspect
  from tensorflow.python.keras.utils import tf_utils
  from tensorflow.python.keras.utils import version_utils
  from tensorflow.python.keras.utils.generic_utils import LazyLoader
  from tensorflow.python.platform import tf_logging
  from tensorflow.python.trackable import data_structures
  from tensorflow.python.util import nest
  from tensorflow.python.util import tf_decorator
label_desc: Use image node_id 3 for calling the LayerCallCollection obj's underlying member method code with example usage: obj.add_trace() without return types