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
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 @@
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 @@
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 @@
)
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,