View source on GitHub

Yields paths for some nested structure.

Paths are lists of objects which can be str-converted, which may include integers or other types which are used as indices in a dict.

The flat list will be in the corresponding order as if you called snt.nest.flatten on the structure. This is handy for naming Tensors such the TF scope structure matches the tuple structure.

E.g. if we have a tuple value = Foo(a=3, b=Bar(c=23, d=42))

>>> nest.flatten(value)
[3, 23, 42]
>>> list(nest.yield_flat_paths(value))
[('a',), ('b', 'c'), ('b', 'd')]
>>> list(nest.yield_flat_paths({'a': [3]}))
[('a', 0)]
>>> list(nest.yield_flat_paths({'a': 3}))

nest the value to produce a flattened paths list for.
expand_composites If true, then composite tensors such as tf.SparseTensor and tf.RaggedTensor are expanded into their component tensors.


Tuples containing index or key values which form the path to a specific leaf value in the nested structure.