aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Ge <jerry.ge@arm.com>2022-10-11 16:27:05 +0000
committerJerry Ge <jerry.ge@arm.com>2023-03-03 16:33:57 -0800
commit2eea5bf8b213ce5f7d335cc45686a80cac119cc2 (patch)
treee711981c90257c1f3c6a57f0a06b9b181e399320
parentd723cc2a70e62e86e4de8858d3fc056ba5d7d541 (diff)
downloadreference_model-2eea5bf8b213ce5f7d335cc45686a80cac119cc2.tar.gz
Add framework tests for TFL.Relu0To1Op
Signed-off-by: Jerry Ge <jerry.ge@arm.com> Change-Id: I6fa14e9dbe7c0cd21156a5779d68fd473af322f2
-rw-r--r--verif/frameworks/test_builder.py10
-rwxr-xr-xverif/frameworks/tosa_verif_framework_generator.py8
2 files changed, 18 insertions, 0 deletions
diff --git a/verif/frameworks/test_builder.py b/verif/frameworks/test_builder.py
index c7ba9a9..6302865 100644
--- a/verif/frameworks/test_builder.py
+++ b/verif/frameworks/test_builder.py
@@ -86,6 +86,16 @@ class TBuilder:
# alternatively, we can use clip_by_value
return tf.math.minimum(1.0, tf.math.maximum(-1.0, a))
+ class Relu0To1:
+ def __init__(self, name):
+ self.result_name = name
+
+ def eval(self, a):
+ # TF doesn't have relu_0_to_1 operator,
+ # use min and max as a workaround
+ # alternatively, we can use clip_by_value
+ return tf.math.minimum(1.0, tf.math.maximum(0.0, a))
+
class Relu6:
def __init__(self, name):
self.result_name = name
diff --git a/verif/frameworks/tosa_verif_framework_generator.py b/verif/frameworks/tosa_verif_framework_generator.py
index 68c7d5a..9794478 100755
--- a/verif/frameworks/tosa_verif_framework_generator.py
+++ b/verif/frameworks/tosa_verif_framework_generator.py
@@ -120,6 +120,14 @@ TF_OP_LIST = {
"tflite": list(TYPE_F + [QuantType.ALL_U8, QuantType.ALL_I8]),
},
},
+ "relu0To1": {
+ "operands": (1, 0),
+ "build_fcn": (TBuilder.Relu0To1, TGen.tgBasic, ArgGen.agNone),
+ "types": {
+ "tf": [],
+ "tflite": list(TYPE_F + [QuantType.ALL_U8, QuantType.ALL_I8]),
+ },
+ },
"relu6": {
"operands": (1, 0),
"build_fcn": (TBuilder.Relu6, TGen.tgBasic, ArgGen.agNone),