| View source on GitHub |
Creates a new structure by applying func to each atom in structure.
tf.nest.map_structure(
func, *structure, **kwargs
)
Refer to tf.nest for the definition of a structure.
Applies func(x[0], x[1], ...) where x[i] enumerates all atoms in structure[i]. All items in structure must have the same arity, and the return value will contain results with the same structure layout.
a = {"hello": 24, "world": 76}
tf.nest.map_structure(lambda p: p * 2, a)
{'hello': 48, 'world': 152}
d1 = {"hello": 24, "world": 76}
d2 = {"hello": 36, "world": 14}
tf.nest.map_structure(lambda p1, p2: p1 + p2, d1, d2)
{'hello': 60, 'world': 90}
a = [24, 76, "ab"] tf.nest.map_structure(lambda p: p * 2, a) [48, 152, 'abab']
tf.nest.map_structure(lambda x, y: x + y, 3, 4) 7
tf.nest.map_structure(lambda x: x + 1, ()) ()
s1 = (((1, 2), 3), 4, (5, 6)) s1_list = [[[1, 2], 3], 4, [5, 6]] tf.nest.map_structure(lambda x, y: None, s1, s1_list) Traceback (most recent call last): TypeError: The two structures don't have the same nested structure
s1 = (((1, 2), 3), 4, (5, 6)) s1_list = [[[1, 2], 3], 4, [5, 6]] tf.nest.map_structure(lambda x, y: None, s1, s1_list, check_types=False) (((None, None), None), None, (None, None))
| Args | |
|---|---|
func | A callable that accepts as many arguments as there are structures. |
*structure | atom or nested structure. |
**kwargs | Valid keyword args are:
|
| Returns | |
|---|---|
A new structure with the same arity as structure[0], whose atoms correspond to func(x[0], x[1], ...) where x[i] is the atom in the corresponding location in structure[i]. If there are different structure types and check_types is False the structure types of the first structure will be used. |
| Raises | |
|---|---|
TypeError | If func 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. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/nest/map_structure