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, например, список и кортеж объектов будут выглядеть одинаково, если у них одинаковый размер. Обратите внимание, что кортежи с одинаковым именем и полями всегда считаются имеющими одинаковую структуру. Два типа также будут считаться одинаковыми, если оба являются подтипами списков (что позволяет сравнивать "список" и "_ListWrapper" из отслеживания зависимостей trackable одинаковыми). |
expand_composites | Если True, то составные тензоры, такие как tf.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/r1.15/api_docs/python/tf/nest/assert_same_structure