tf.nest.assert_same_structure
| Просмотреть исходный код на GitHub |
Проверяет, что две структуры вложены одинаковым образом.
tf.nest.assert_same_structure(
nest1, nest2, check_types=True, expand_composites=False
)
Обратите внимание, что кортежи с именами и полями с одинаковыми именами всегда считаются имеющими одинаковую поверхностную структуру (даже с check_types=True). Например, этот код выведет True:
def nt(a, b):
return collections.namedtuple('foo', 'a b')(a, b)
print(assert_same_structure(nt(0, 1), nt(2, 3)))
| Аргументы | |
|---|---|
nest1 | произвольно вложенная структура. |
nest2 | произвольно вложенная структура. |
check_types | если True (по умолчанию) типы последовательностей проверяются также, включая ключи словарей. Если установлено значение False, например, список и кортеж объектов будут выглядеть одинаково, если у них одинаковый размер. Обратите внимание, что кортежи с именами и полями с одинаковыми именами всегда считаются имеющими одинаковую поверхностную структуру. Два типа также будут считаться одинаковыми, если оба являются подтипами списка (что позволяет сравнивать "list" и "_ListWrapper" из отслеживания зависимостей для отслеживания зависимостей как равные). |
expand_composites | Если true, составные тензоры, такие как tf.sparse.SparseTensor и tf.RaggedTensor, расширяются в свои компоненты тензоров. |
| Исключения | |
|---|---|
ValueError | Если две структуры не имеют одинакового количества элементов или если две структуры не вложены одинаковым образом. |
TypeError | Если две структуры различаются по типу последовательности в любой из их подструктур. Возможен только в том случае, если check_types имеет значение True. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/nest/assert_same_structure