tf.contrib.framework.nest.assert_shallow_structure
Проверяет, что shallow_tree является поверхностной структурой input_tree.
tf.contrib.framework.nest.assert_shallow_structure(
shallow_tree, input_tree, check_types=True, expand_composites=False,
check_subtrees_length=True
)
То есть, эта функция проверяет, может ли структура input_tree быть создана из структуры shallow_tree путём замены её листовых узлов более глубокими древовидными структурами.
Примеры:
Следующий код вызовет исключение:
shallow_tree = {"a": "A", "b": "B"}
input_tree = {"a": 1, "c": 2}
assert_shallow_structure(shallow_tree, input_tree)
Следующий код вызовет исключение:
shallow_tree = ["a", "b"] input_tree = ["c", ["d", "e"], "f"] assert_shallow_structure(shallow_tree, input_tree)
Следующий код не вызовет исключение:
shallow_tree = ["a", "b"] input_tree = ["c", ["d", "e"], "f"] assert_shallow_structure(shallow_tree, input_tree, check_subtrees_length=False)
| Аргументы | |
|---|---|
shallow_tree | произвольно вложенная структура. |
input_tree | произвольно вложенная структура. |
check_types | если True (по умолчанию) типы последовательностей shallow_tree и input_tree должны быть одинаковыми. Обратите внимание, что даже при check_types==True, эта функция будет считать два разных класса namedtuple с одинаковым именем и атрибутом _fields за один и тот же класс. |
expand_composites | Если True, то составные тензоры, такие как tf.SparseTensor и tf.RaggedTensor, расширяются до их компонентных тензоров. |
check_subtrees_length | если True (по умолчанию), поддеревья shallow_tree и input_tree должны иметь одинаковую длину. Если False последовательности рассматриваются как отображения ключ-значение, позволяющие их рассматривать как допустимые поддеревья. Обратите внимание, что это может привести к потере частей input_tree. |
| Исключения | |
|---|---|
TypeError | Если shallow_tree является последовательностью, но input_tree нет. |
TypeError | Если типы последовательностей shallow_tree отличаются от input_tree. Вызывается только если check_types равно True. |
ValueError | Если длины последовательностей shallow_tree отличаются от input_tree. |
© 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/contrib/framework/nest/assert_shallow_structure