ArmNN
 22.08
Addition.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
7 
8 #include <doctest/doctest.h>
9 
10 
11 TEST_SUITE("TensorflowLiteParser_Addition")
12 {
13 struct AddFixture : public ParserFlatbuffersFixture
14 {
15  explicit AddFixture(const std::string & inputShape1,
16  const std::string & inputShape2,
17  const std::string & outputShape,
18  const std::string & activation="NONE")
19  {
20  m_JsonString = R"(
21  {
22  "version": 3,
23  "operator_codes": [ { "builtin_code": "ADD" } ],
24  "subgraphs": [ {
25  "tensors": [
26  {
27  "shape": )" + inputShape1 + R"(,
28  "type": "UINT8",
29  "buffer": 0,
30  "name": "inputTensor1",
31  "quantization": {
32  "min": [ 0.0 ],
33  "max": [ 255.0 ],
34  "scale": [ 1.0 ],
35  "zero_point": [ 0 ],
36  }
37  },
38  {
39  "shape": )" + inputShape2 + R"(,
40  "type": "UINT8",
41  "buffer": 1,
42  "name": "inputTensor2",
43  "quantization": {
44  "min": [ 0.0 ],
45  "max": [ 255.0 ],
46  "scale": [ 1.0 ],
47  "zero_point": [ 0 ],
48  }
49  },
50  {
51  "shape": )" + outputShape + R"( ,
52  "type": "UINT8",
53  "buffer": 2,
54  "name": "outputTensor",
55  "quantization": {
56  "min": [ 0.0 ],
57  "max": [ 255.0 ],
58  "scale": [ 1.0 ],
59  "zero_point": [ 0 ],
60  }
61  }
62  ],
63  "inputs": [ 0, 1 ],
64  "outputs": [ 2 ],
65  "operators": [
66  {
67  "opcode_index": 0,
68  "inputs": [ 0, 1 ],
69  "outputs": [ 2 ],
70  "builtin_options_type": "AddOptions",
71  "builtin_options": {
72  "fused_activation_function": )" + activation + R"(
73  },
74  "custom_options_format": "FLEXBUFFERS"
75  }
76  ],
77  } ],
78  "buffers" : [
79  { },
80  { }
81  ]
82  }
83  )";
84  Setup();
85  }
86 };
87 
88 
89 struct SimpleAddFixture : AddFixture
90 {
91  SimpleAddFixture() : AddFixture("[ 2, 2 ]",
92  "[ 2, 2 ]",
93  "[ 2, 2 ]") {}
94 };
95 
96 TEST_CASE_FIXTURE(SimpleAddFixture, "SimpleAdd")
97 {
98  RunTest<2, armnn::DataType::QAsymmU8>(
99  0,
100  {{"inputTensor1", { 0, 1, 2, 3 }},
101  {"inputTensor2", { 4, 5, 6, 7 }}},
102  {{"outputTensor", { 4, 6, 8, 10 }}});
103 }
104 
105 }
TEST_SUITE("OnnxParser_Addition")
Definition: Addition.cpp:9
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
void Setup(bool testDynamic=true)