From 39f127b0be84fdc87724abab75fd1bb313444d6c Mon Sep 17 00:00:00 2001 From: Jeremy Johnson Date: Tue, 25 Jan 2022 17:51:26 +0000 Subject: Fix for max arguments to be respected in build tests The conformance oversize tests are not produced by default. Change-Id: I9f7d4a60b9d8991889a077b61613e13e288bb65d Signed-off-by: Jeremy Johnson --- verif/generator/tosa_test_gen.py | 23 ++++++++++++----------- verif/generator/tosa_verif_build_tests.py | 14 +++++++++++--- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/verif/generator/tosa_test_gen.py b/verif/generator/tosa_test_gen.py index c04b585..94edf6f 100644 --- a/verif/generator/tosa_test_gen.py +++ b/verif/generator/tosa_test_gen.py @@ -696,7 +696,7 @@ class TosaArgGen: d_vals = [x for x in range(1, testGen.args.max_conv_dilation + 1)] dilations = {x for x in itertools.product(*([d_vals] * k_rank))} - if not error_name: + if not error_name and testGen.args.oversize: # add some oversize argument values if max(ifm_shape) < 64: bigPadding = 9 @@ -890,18 +890,19 @@ class TosaArgGen: paddings = {x for x in itertools.product(*([p_vals] * 4))} s_vals = [x for x in range(1, testGen.args.max_pooling_stride + 1)] strides = {x for x in itertools.product(*([s_vals] * 2))} - k_vals = [x for x in range(2, testGen.args.max_pooling_kernel + 2)] + k_vals = [x for x in range(2, testGen.args.max_pooling_kernel + 1)] kernels = {x for x in itertools.product(*([k_vals] * 2))} - # add some oversize argument values - bigStride = 7 - strides.update({x for x in itertools.product(*([[1, bigStride]] * 2))}) - bigKernel = 6 - kernels.update({x for x in itertools.product(*([[2, bigKernel]] * 2))}) - if max(shape) < 64: - # padding must be less than the kernel size - bigPadding = bigKernel - 1 - paddings.update({x for x in itertools.product(*([[0, bigPadding]] * 4))}) + if testGen.args.oversize: + # add some oversize argument values + bigStride = 7 + strides.update({x for x in itertools.product(*([[1, bigStride]] * 2))}) + bigKernel = 6 + kernels.update({x for x in itertools.product(*([[2, bigKernel]] * 2))}) + if max(shape) < 64: + # padding must be less than the kernel size + bigPadding = bigKernel - 1 + paddings.update({x for x in itertools.product(*([[0, bigPadding]] * 4))}) # There are too many parameter combinations, so generate them sparsely, # very sparse for negative tests diff --git a/verif/generator/tosa_verif_build_tests.py b/verif/generator/tosa_verif_build_tests.py index 50f4033..d114519 100644 --- a/verif/generator/tosa_verif_build_tests.py +++ b/verif/generator/tosa_verif_build_tests.py @@ -110,9 +110,9 @@ def parseArgs(): parser.add_argument( "--max-pooling-kernel", dest="max_pooling_kernel", - default=2, + default=3, type=int, - help="Maximum padding for pooling tests", + help="Maximum kernel for pooling tests", ) parser.add_argument( @@ -166,8 +166,16 @@ def parseArgs(): choices=["positive", "negative", "both"], default="positive", type=str, - help="type of tests produced, postive, negative, or both", + help="type of tests produced, positive, negative, or both", + ) + + parser.add_argument( + "--allow-pooling-and-conv-oversizes", + dest="oversize", + action='store_true', + help="allow oversize padding, stride and kernel tests", ) + args = parser.parse_args() return args -- cgit v1.2.1