Add reference model framework test for INT8 squared difference
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: I6fba6907cef0616c18dc461dbb92d2aceb582f6c
diff --git a/verif/frameworks/tosa_verif_framework_generator.py b/verif/frameworks/tosa_verif_framework_generator.py
index 94a1a15..09a06b4 100755
--- a/verif/frameworks/tosa_verif_framework_generator.py
+++ b/verif/frameworks/tosa_verif_framework_generator.py
@@ -369,7 +369,10 @@
"squared_difference": {
"operands": (2, 0),
"build_fcn": (TBuilder.SquaredDifference, TGen.tgBFuzz, ArgGen.agNone),
- "types": TYPE_F,
+ "types": {
+ "tf": TYPE_F,
+ "tflite": list(TYPE_FI + [QuantType.ALL_I8]),
+ },
},
"equal": {
"operands": (2, 0),
@@ -1119,7 +1122,12 @@
max_val = float(qmax - qzero[idx]) * scale
else:
scale = (max_val - min_val) / float(qmax - qmin)
- zeropoint = int(round((-min_val) / scale)) + qmin
+ zeropoint = -int(round((-min_val) / scale)) + qmin
+
+ # Exit if min_val <= 0.0, in order to avoid assertion error
+ # from tf.quantization.fake_quant_with_min_max_args
+ if min_val > 0.0:
+ return True
# run through tf.fakequant first to assure quantization error aligned
fakequant_val = tf.quantization.fake_quant_with_min_max_args(