aboutsummaryrefslogtreecommitdiff
path: root/src/armnnTfLiteParser/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnnTfLiteParser/test')
-rw-r--r--src/armnnTfLiteParser/test/ElementWiseUnary.cpp148
-rw-r--r--src/armnnTfLiteParser/test/Exp.cpp85
-rw-r--r--src/armnnTfLiteParser/test/Neg.cpp85
3 files changed, 148 insertions, 170 deletions
diff --git a/src/armnnTfLiteParser/test/ElementWiseUnary.cpp b/src/armnnTfLiteParser/test/ElementWiseUnary.cpp
new file mode 100644
index 0000000000..dc236d2637
--- /dev/null
+++ b/src/armnnTfLiteParser/test/ElementWiseUnary.cpp
@@ -0,0 +1,148 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include <boost/test/unit_test.hpp>
+#include "ParserFlatbuffersFixture.hpp"
+#include "../TfLiteParser.hpp"
+
+#include <string>
+
+BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
+
+struct ElementWiseUnaryFixture : public ParserFlatbuffersFixture
+{
+ explicit ElementWiseUnaryFixture(const std::string& operatorCode,
+ const std::string& dataType,
+ const std::string& inputShape,
+ const std::string& outputShape)
+ {
+ m_JsonString = R"(
+ {
+ "version": 3,
+ "operator_codes": [ { "builtin_code": )" + operatorCode + R"( } ],
+ "subgraphs": [ {
+ "tensors": [
+ {
+ "shape": )" + inputShape + R"(,
+ "type": )" + dataType + R"( ,
+ "buffer": 0,
+ "name": "inputTensor",
+ "quantization": {
+ "min": [ 0.0 ],
+ "max": [ 255.0 ],
+ "scale": [ 1.0 ],
+ "zero_point": [ 0 ],
+ }
+ },
+ {
+ "shape": )" + outputShape + R"( ,
+ "type": )" + dataType + R"( ,
+ "buffer": 1,
+ "name": "outputTensor",
+ "quantization": {
+ "min": [ 0.0 ],
+ "max": [ 255.0 ],
+ "scale": [ 1.0 ],
+ "zero_point": [ 0 ],
+ }
+ }
+ ],
+ "inputs": [ 0 ],
+ "outputs": [ 1 ],
+ "operators": [
+ {
+ "opcode_index": 0,
+ "inputs": [ 0 ],
+ "outputs": [ 1 ],
+ "custom_options_format": "FLEXBUFFERS"
+ }
+ ],
+ } ],
+ "buffers" : [
+ { },
+ { }
+ ]
+ }
+ )";
+ Setup();
+ }
+};
+
+struct SimpleAbsFixture : public ElementWiseUnaryFixture
+{
+ SimpleAbsFixture() : ElementWiseUnaryFixture("ABS", "FLOAT32", "[ 2, 2 ]", "[ 2, 2 ]") {}
+};
+
+BOOST_FIXTURE_TEST_CASE(ParseAbs, SimpleAbsFixture)
+{
+ std::vector<float> inputValues
+ {
+ -0.1f, 0.2f,
+ 0.3f, -0.4f
+ };
+
+ // Calculate output data
+ std::vector<float> expectedOutputValues(inputValues.size());
+ for (unsigned int i = 0; i < inputValues.size(); ++i)
+ {
+ expectedOutputValues[i] = std::abs(inputValues[i]);
+ }
+
+ RunTest<2, armnn::DataType::Float32>(0, {{ "inputTensor", { inputValues } }},
+ {{ "outputTensor",{ expectedOutputValues } } });
+}
+
+struct SimpleExpFixture : public ElementWiseUnaryFixture
+{
+ SimpleExpFixture() : ElementWiseUnaryFixture("EXP", "FLOAT32", "[ 1, 2, 3, 1 ]", "[ 1, 2, 3, 1 ]") {}
+};
+
+BOOST_FIXTURE_TEST_CASE(ParseExp, SimpleExpFixture)
+{
+ RunTest<4, armnn::DataType::Float32>(0, {{ "inputTensor", { 0.0f, 1.0f, 2.0f,
+ 3.0f, 4.0f, 5.0f} }},
+ {{ "outputTensor",{ 1.0f, 2.718281f, 7.3890515f,
+ 20.0855185f, 54.5980834f, 148.4129329f} } });
+}
+
+struct SimpleLogicalNotFixture : public ElementWiseUnaryFixture
+{
+ SimpleLogicalNotFixture() : ElementWiseUnaryFixture("LOGICAL_NOT", "BOOL", "[ 1, 1, 1, 4 ]", "[ 1, 1, 1, 4 ]") {}
+};
+
+BOOST_FIXTURE_TEST_CASE(ParseLogicalNot, SimpleLogicalNotFixture)
+{
+ RunTest<4, armnn::DataType::Boolean>(0, {{ "inputTensor", { 0, 1, 0, 1 } }},
+ {{ "outputTensor",{ 1, 0, 1, 0 } } });
+}
+
+struct SimpleNegFixture : public ElementWiseUnaryFixture
+{
+ SimpleNegFixture() : ElementWiseUnaryFixture("NEG", "FLOAT32", "[ 1, 2, 3, 1 ]", "[ 1, 2, 3, 1 ]") {}
+};
+
+BOOST_FIXTURE_TEST_CASE(ParseNeg, SimpleNegFixture)
+{
+ RunTest<4, armnn::DataType::Float32>(0, {{ "inputTensor", { 0.0f, 1.0f, -2.0f,
+ 20.0855185f, -54.5980834f, 5.0f} }},
+ {{ "outputTensor",{ 0.0f, -1.0f, 2.0f,
+ -20.0855185f, 54.5980834f, -5.0f} }});
+}
+
+struct SimpleRsqrtFixture : public ElementWiseUnaryFixture
+{
+ SimpleRsqrtFixture() : ElementWiseUnaryFixture("RSQRT", "FLOAT32", "[ 1, 2, 3, 1 ]", "[ 1, 2, 3, 1 ]") {}
+};
+
+BOOST_FIXTURE_TEST_CASE(ParseRsqrt, SimpleRsqrtFixture)
+{
+ RunTest<4, armnn::DataType::Float32>(0, {{ "inputTensor", { 1.0f, 4.0f, 16.0f,
+ 25.0f, 64.0f, 100.0f } }},
+ {{ "outputTensor",{ 1.0f, 0.5f, 0.25f,
+ 0.2f, 0.125f, 0.1f} }});
+}
+
+
+BOOST_AUTO_TEST_SUITE_END()
diff --git a/src/armnnTfLiteParser/test/Exp.cpp b/src/armnnTfLiteParser/test/Exp.cpp
deleted file mode 100644
index 168cc45dd9..0000000000
--- a/src/armnnTfLiteParser/test/Exp.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// Copyright © 2020 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#include <boost/test/unit_test.hpp>
-#include "ParserFlatbuffersFixture.hpp"
-#include "../TfLiteParser.hpp"
-
-#include <string>
-
-BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
-
-struct ExpFixture : public ParserFlatbuffersFixture
-{
- explicit ExpFixture(const std::string & inputShape,
- const std::string & outputShape)
- {
- m_JsonString = R"(
- {
- "version": 3,
- "operator_codes": [ { "builtin_code": "EXP" } ],
- "subgraphs": [ {
- "tensors": [
- {
- "shape": )" + inputShape + R"(,
- "type": "FLOAT32",
- "buffer": 0,
- "name": "inputTensor",
- "quantization": {
- "min": [ 0.0 ],
- "max": [ 255.0 ],
- "scale": [ 1.0 ],
- "zero_point": [ 0 ],
- }
- },
- {
- "shape": )" + outputShape + R"( ,
- "type": "FLOAT32",
- "buffer": 1,
- "name": "outputTensor",
- "quantization": {
- "min": [ 0.0 ],
- "max": [ 255.0 ],
- "scale": [ 1.0 ],
- "zero_point": [ 0 ],
- }
- }
- ],
- "inputs": [ 0 ],
- "outputs": [ 1 ],
- "operators": [
- {
- "opcode_index": 0,
- "inputs": [ 0 ],
- "outputs": [ 1 ],
- "custom_options_format": "FLEXBUFFERS"
- }
- ],
- } ],
- "buffers" : [
- { },
- { }
- ]
- }
- )";
- Setup();
- }
-};
-
-struct SimpleExpFixture : public ExpFixture
-{
- SimpleExpFixture() : ExpFixture("[ 1, 2, 3, 1 ]", "[ 1, 2, 3, 1 ]") {}
-};
-
-BOOST_FIXTURE_TEST_CASE(ParseExp, SimpleExpFixture)
-{
- using armnn::DataType;
- RunTest<4, DataType::Float32>(0, {{ "inputTensor", { 0.0f, 1.0f, 2.0f,
- 3.0f, 4.0f, 5.0f} }},
- {{ "outputTensor", { 1.0f, 2.718281f, 7.3890515f,
- 20.0855185f, 54.5980834f, 148.4129329f} } });
-}
-
-BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file
diff --git a/src/armnnTfLiteParser/test/Neg.cpp b/src/armnnTfLiteParser/test/Neg.cpp
deleted file mode 100644
index 39e1f9e82c..0000000000
--- a/src/armnnTfLiteParser/test/Neg.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// Copyright © 2020 Arm Ltd. All rights reserved.
-// SPDX-License-Identifier: MIT
-//
-
-#include <boost/test/unit_test.hpp>
-#include "ParserFlatbuffersFixture.hpp"
-#include "../TfLiteParser.hpp"
-
-#include <string>
-
-BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
-
-struct NegFixture : public ParserFlatbuffersFixture
-{
- explicit NegFixture(const std::string & inputShape,
- const std::string & outputShape)
- {
- m_JsonString = R"(
- {
- "version": 3,
- "operator_codes": [ { "builtin_code": "NEG" } ],
- "subgraphs": [ {
- "tensors": [
- {
- "shape": )" + inputShape + R"(,
- "type": "FLOAT32",
- "buffer": 0,
- "name": "inputTensor",
- "quantization": {
- "min": [ 0.0 ],
- "max": [ 255.0 ],
- "scale": [ 1.0 ],
- "zero_point": [ 0 ],
- }
- },
- {
- "shape": )" + outputShape + R"( ,
- "type": "FLOAT32",
- "buffer": 1,
- "name": "outputTensor",
- "quantization": {
- "min": [ 0.0 ],
- "max": [ 255.0 ],
- "scale": [ 1.0 ],
- "zero_point": [ 0 ],
- }
- }
- ],
- "inputs": [ 0 ],
- "outputs": [ 1 ],
- "operators": [
- {
- "opcode_index": 0,
- "inputs": [ 0 ],
- "outputs": [ 1 ],
- "custom_options_format": "FLEXBUFFERS"
- }
- ],
- } ],
- "buffers" : [
- { },
- { }
- ]
- }
- )";
- Setup();
- }
-};
-
-struct SimpleNegFixture : public NegFixture
-{
- SimpleNegFixture() : NegFixture("[ 1, 2, 3, 1 ]", "[ 1, 2, 3, 1 ]") {}
-};
-
-BOOST_FIXTURE_TEST_CASE(ParseNeg, SimpleNegFixture)
-{
- using armnn::DataType;
- RunTest<4, DataType::Float32>(0, {{ "inputTensor", { 0.0f, 1.0f, -2.0f,
- 20.0855185f, -54.5980834f, 5.0f} }},
- {{ "outputTensor",{ 0.0f, -1.0f, 2.0f,
- -20.0855185f, 54.5980834f, -5.0f} }});
-}
-
-BOOST_AUTO_TEST_SUITE_END()