MCPcopy Create free account
hub / github.com/PaddlePaddle/Paddle / assert_same_structure

Function assert_same_structure

python/paddle/utils/layers_utils.py:345–359  ·  view source on GitHub ↗

Confirm two nested structures with the same structure.

(nest1, nest2, check_types=True, skip_if=None)

Source from the content-addressed store, hash-verified

343
344
345def assert_same_structure(nest1, nest2, check_types=True, skip_if=None):
346 """
347 Confirm two nested structures with the same structure.
348 """
349 if skip_if is not None and (skip_if(nest1) or skip_if(nest2)):
350 return
351 len_nest1 = len(flatten(nest1)) if is_sequence(nest1) else 1
352 len_nest2 = len(flatten(nest2)) if is_sequence(nest2) else 1
353 if len_nest1 != len_nest2 and skip_if is None:
354 raise ValueError(
355 "The two structures don't have the same number of "
356 f"elements.\n\nFirst structure ({len_nest1} elements): {nest1}\n\n"
357 f"Second structure ({len_nest2} elements): {nest2}"
358 )
359 _recursive_assert_same_structure(nest1, nest2, check_types, skip_if)
360
361
362def _is_symmetric_padding(padding, data_dim):

Callers 2

while_loopFunction · 0.90
condFunction · 0.90

Calls 4

is_sequenceFunction · 0.85
ValueErrorClass · 0.85
flattenFunction · 0.70

Tested by

no test coverage detected