aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Johnson <jeremy.johnson@arm.com>2024-04-08 16:17:47 +0100
committerJeremy Johnson <jeremy.johnson@arm.com>2024-04-09 14:16:56 +0100
commitc870d1ef9d1299a71a35ef0d7d68e5c09bc77efb (patch)
treee703d3c898f171663a1e299281ce8eaa1c4a716a
parent0dac6c90a1ed753d1018077be83941834f937601 (diff)
downloadreference_model-c870d1ef9d1299a71a35ef0d7d68e5c09bc77efb.tar.gz
Generate tests with random combination of const/inputs
Override the default input/consts used for each op with biased random combos. Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com> Change-Id: I7a5eb2b01a47248bc0db5a2f930ad2ac52cc0a67
-rw-r--r--verif/generator/tosa_arg_gen.py14
-rw-r--r--verif/generator/tosa_verif_build_tests.py7
2 files changed, 19 insertions, 2 deletions
diff --git a/verif/generator/tosa_arg_gen.py b/verif/generator/tosa_arg_gen.py
index f9499b5..9b20053 100644
--- a/verif/generator/tosa_arg_gen.py
+++ b/verif/generator/tosa_arg_gen.py
@@ -796,7 +796,17 @@ class TosaTensorValuesGen:
tens_meta["input_pos"] = idx
tens_meta["op"] = gtu.getOpNameFromOpListName(opName).upper()
- if idx < pCount:
+ if testGen.args.random_const_inputs:
+ # Choose type of tensor biased by defaults
+ percentage = rng.randInt(0, 100)
+ variable = (idx < pCount and percentage < 70) or (
+ idx >= pCount and percentage >= 70
+ )
+ else:
+ # Use default set up of constants versus inputs for the op
+ variable = idx < pCount
+
+ if variable:
tens_meta["input_type"] = "VARIABLE"
else:
tens_meta["input_type"] = "CONSTANT"
@@ -876,7 +886,7 @@ class TosaTensorValuesGen:
if testGen.args.lazy_data_gen:
data = None
- if tens_meta["input_type"] == "VARIABLE":
+ if variable:
tens = testGen.ser.addPlaceholder(shape, dtypeList[idx], data)
else:
tens = testGen.ser.addConst(shape, dtypeList[idx], data)
diff --git a/verif/generator/tosa_verif_build_tests.py b/verif/generator/tosa_verif_build_tests.py
index 472ba4d..a46b061 100644
--- a/verif/generator/tosa_verif_build_tests.py
+++ b/verif/generator/tosa_verif_build_tests.py
@@ -250,6 +250,13 @@ def parseArgs(argv):
)
ops_group.add_argument(
+ "--random-const-inputs",
+ dest="random_const_inputs",
+ action="store_true",
+ help="Allow any combination of input/constant tensors for operators",
+ )
+
+ ops_group.add_argument(
"--num-const-inputs-concat",
dest="num_const_inputs_concat",
default=0,