Applies func(x, x, ...) 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.
A callable that accepts as many arguments as there are structures.
scalar, or tuple or dict or list of constructed scalars and/or
other tuples/lists, or scalars. Note: numpy arrays are considered as
Valid keyword args are:
check_types: If set to True (default) the types of
iterables within the structures have to be same (e.g.
map_structure(func, , (1,)) raises a TypeError
exception). To allow this set this argument to False.
Note that namedtuples with identical name and fields are always
considered to have the same shallow structure.
expand_composites: If set to True, then composite tensors such
as tf.sparse.SparseTensor and tf.RaggedTensor are expanded into
their component tensors. If False (the default), then composite
tensors are not expanded.
A new structure with the same arity as structure, whose values correspond
to func(x, x, ...) 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
If func is not callable or if the structures do not match
each other by depth tree.
If no structure is provided or if the structures do not match
each other by type.