aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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),