tf.nest.assert_same_structure
| Просмотреть исходный код на GitHub |
Проверяет, что две структуры вложены одинаковым образом.
tf.nest.assert_same_structure(
nest1, nest2, check_types=True, expand_composites=False
)
Обратите внимание, что namedtuple с идентичными именем и полями всегда считаются имеющими одинаковую поверхностную структуру (даже с 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, например, список и кортеж объектов будут считаться одинаковыми, если они имеют одинаковый размер. Обратите внимание, что namedtuple с идентичными именем и полями всегда считаются имеющими одинаковую поверхностную структуру. Два типа также будут считаться одинаковыми, если оба являются подтипами списка (что позволяет сравнивать "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.3/api_docs/python/tf/nest/assert_same_structure