code: def _tf_data_yield_value(iterable):
      """Yield elements of `iterable` in a deterministic order.
  
      Args:
        iterable: an iterable.
  
      Yields:
        The iterable elements in a deterministic order.
      """
      # pylint: disable=protected-access
      if isinstance(iterable, _collections_abc.Mapping):
          # Iterate through dictionaries in a deterministic order by sorting the
          # keys. Notice this means that we ignore the original order of `OrderedDict`
          # instances. This is intentional, to avoid potential bugs caused by mixing
          # ordered and plain dicts (e.g., flattening a dict but using a
          # corresponding `OrderedDict` to pack it back).
          for key in _tf_data_sorted(iterable):
              yield iterable[key]
      # To avoid circular imports. sparse_tensor
      # depends on tensorflow/python/util/nest.py transitively, and if we try to
      # import sparse_tensor again, it results in a circular import. Instead, here
      # we check the class name instead of using `isinstance`.
      elif iterable.__class__.__name__ == "SparseTensorValue":
          yield iterable
      elif _is_attrs(iterable):
          for _, attr in _get_attrs_items(iterable):
              yield attr
      elif isinstance(iterable, CustomNestProtocol):
          flat_component = iterable.__tf_flatten__()[1]
          assert isinstance(flat_component, tuple)
          yield from flat_component
      else:
          for value in iterable:
              yield value
  
imports: import collections
  import enum
  import wrapt
  from tensorflow.python import pywrap_tensorflow
  from tensorflow.python.platform import tf_logging
  from tensorflow.python.util import _pywrap_utils
  from tensorflow.python.util.compat import collections_abc
  from tensorflow.python.util.custom_nest_protocol import CustomNestProtocol
label_desc: Use image node_id 11 for calling a global function with example usage: _tf_data_yield_value(iterable) without return types