diff options
author | Jerry Ge <jerry.ge@arm.com> | 2022-07-22 10:29:13 -0700 |
---|---|---|
committer | Eric Kunze <eric.kunze@arm.com> | 2022-08-02 21:22:45 +0000 |
commit | 9391243d1c24d5a4e3c227ba9e3689cdb12d3e60 (patch) | |
tree | 840b0f7be23d0bdad76c41e391536c4551f71bf0 /verif/frameworks | |
parent | 5a30f9b18665f3f98c43f52519407434df171a4f (diff) | |
download | reference_model-9391243d1c24d5a4e3c227ba9e3689cdb12d3e60.tar.gz |
Added framework tests for Relu1 Operator legalization
Signed-off-by: Jerry Ge <jerry.ge@arm.com>
Change-Id: I36ea46e79a0ce42c2dbe47c816b5b5572058c0f2
Diffstat (limited to 'verif/frameworks')
-rw-r--r-- | verif/frameworks/test_builder.py | 10 | ||||
-rwxr-xr-x | verif/frameworks/tosa_verif_framework_generator.py | 8 |
2 files changed, 18 insertions, 0 deletions
diff --git a/verif/frameworks/test_builder.py b/verif/frameworks/test_builder.py index a47cf5c..97b9085 100644 --- a/verif/frameworks/test_builder.py +++ b/verif/frameworks/test_builder.py @@ -76,6 +76,16 @@ class TBuilder: def eval(self, a): return tf.nn.relu(a, name=self.result_name) + class Relu1: + def __init__(self, name): + self.result_name = name + + def eval(self, a): + # TF doesn't have relu_n1_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(-1.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 3b5d012..8d8b155 100755 --- a/verif/frameworks/tosa_verif_framework_generator.py +++ b/verif/frameworks/tosa_verif_framework_generator.py @@ -111,6 +111,14 @@ TF_OP_LIST = { ), }, }, + "relu1": { + "operands": (1, 0), + "build_fcn": (TBuilder.Relu1, 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), |