aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Johnson <jeremy.johnson@arm.com>2022-01-25 17:51:26 +0000
committerJeremy Johnson <jeremy.johnson@arm.com>2022-01-26 11:29:30 +0000
commit39f127b0be84fdc87724abab75fd1bb313444d6c (patch)
tree443fd6291fe47d52d34eba93d66ade200e6a9cc7
parent0c171ac4de49c895c3aa7da2e394f9572ee49888 (diff)
downloadreference_model-39f127b0be84fdc87724abab75fd1bb313444d6c.tar.gz
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 <jeremy.johnson@arm.com>
-rw-r--r--verif/generator/tosa_test_gen.py23
-rw-r--r--verif/generator/tosa_verif_build_tests.py14
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