![]() |
Applies func
to each entry in structure
and returns a new structure.
Aliases:
tf.compat.v1.nest.map_structure
tf.compat.v2.nest.map_structure
tf.contrib.framework.nest.map_structure
tf.nest.map_structure(
func,
*structure,
**kwargs
)
Applies func(x[0], x[1], ...)
where x[i] is an entry in
structure[i]
. All structures in structure
must have the same arity,
and the return value will contain results with the same structure layout.
Args:
func
: A callable that accepts as many arguments as there are structures.*structure
: scalar, or tuple or list of constructed scalars and/or other tuples/lists, or scalars. Note: numpy arrays are considered as scalars.**kwargs
: Valid keyword args are:check_types
: If set toTrue
(default) the types of iterables within the structures have to be same (e.g.map_structure(func, [1], (1,))
raises aTypeError
exception). To allow this set this argument toFalse
. Note that namedtuples with identical name and fields are always considered to have the same shallow structure.expand_composites
: If set toTrue
, then composite tensors such astf.SparseTensor
andtf.RaggedTensor
are expanded into their component tensors. IfFalse
(the default), then composite tensors are not expanded.
Returns:
A new structure with the same arity as structure
, whose values correspond
to func(x[0], x[1], ...)
where x[i]
is a value in the corresponding
location in structure[i]
. If there are different sequence types and
check_types
is False
the sequence types of the first structure will be
used.
Raises:
TypeError
: Iffunc
is not callable or if the structures do not match each other by depth tree.ValueError
: If no structure is provided or if the structures do not match each other by type.ValueError
: If wrong keyword arguments are provided.