code: def sticky_attribute_assignment(trackable, name, value):
      """Adds dependencies, called from __setattr__.
  
      Args:
          trackable: The object to add dependencies to (generally the one having
          an attribute assigned).
          name: The attribute name being assigned.
          value: The value being assigned. Not necessarily a trackable object.
  
      Returns:
          The value which should be stored in the attribute.
      """
      if isinstance(
          value,
          (
              tracking.TrackedList,
              tracking.TrackedDict,
              tracking.TrackedSet,
          ),
      ) and hasattr(trackable, "_tracked"):
          trackable._tracked.append(name)
      if not tracking.is_tracking_enabled():
          return value
      if isinstance(value, tf.__internal__.tracking.Trackable):
          trackable._track_trackable(  # pylint: disable=protected-access
              value,
              name=name,
              # Allow the user to switch the Trackable which is tracked by this
              # name, since assigning a new variable to an attribute has
              # historically been fine (e.g. Adam did this).
              overwrite=True,
          )
      return value
  
imports: import tensorflow
  from keras.utils import tracking
label_desc: Use image node_id 1 for calling a global function with example usage: sticky_attribute_assignment(trackable, name, value) and returns: value, value