ArmNN
 22.05
Maximum.cpp File Reference

Go to the source code of this file.

Functions

 TEST_SUITE ("TensorflowLiteParser_Maximum")
 

Function Documentation

◆ TEST_SUITE()

TEST_SUITE ( "TensorflowLiteParser_Maximum"  )

Definition at line 9 of file Maximum.cpp.

References ParserFlatbuffersFixture::Setup(), and TEST_CASE_FIXTURE().

10 {
11 struct MaximumFixture : public ParserFlatbuffersFixture
12 {
13  explicit MaximumFixture(const std::string & inputShape1,
14  const std::string & inputShape2,
15  const std::string & outputShape)
16  {
17  m_JsonString = R"(
18  {
19  "version": 3,
20  "operator_codes": [ { "builtin_code": "MAXIMUM" } ],
21  "subgraphs": [ {
22  "tensors": [
23  {
24  "shape": )" + inputShape1 + R"(,
25  "type": "FLOAT32",
26  "buffer": 0,
27  "name": "inputTensor1",
28  "quantization": {
29  "min": [ 0.0 ],
30  "max": [ 255.0 ],
31  "scale": [ 1.0 ],
32  "zero_point": [ 0 ],
33  }
34  },
35  {
36  "shape": )" + inputShape2 + R"(,
37  "type": "FLOAT32",
38  "buffer": 1,
39  "name": "inputTensor2",
40  "quantization": {
41  "min": [ 0.0 ],
42  "max": [ 255.0 ],
43  "scale": [ 1.0 ],
44  "zero_point": [ 0 ],
45  }
46  },
47  {
48  "shape": )" + outputShape + R"( ,
49  "type": "FLOAT32",
50  "buffer": 2,
51  "name": "outputTensor",
52  "quantization": {
53  "min": [ 0.0 ],
54  "max": [ 255.0 ],
55  "scale": [ 1.0 ],
56  "zero_point": [ 0 ],
57  }
58  }
59  ],
60  "inputs": [ 0, 1 ],
61  "outputs": [ 2 ],
62  "operators": [
63  {
64  "opcode_index": 0,
65  "inputs": [ 0, 1 ],
66  "outputs": [ 2 ],
67  "custom_options_format": "FLEXBUFFERS"
68  }
69  ],
70  } ],
71  "buffers" : [
72  { },
73  { }
74  ]
75  }
76  )";
77  Setup();
78  }
79 };
80 
81 
82 struct MaximumFixture4D4D : MaximumFixture
83 {
84  MaximumFixture4D4D() : MaximumFixture("[ 1, 2, 2, 3 ]",
85  "[ 1, 2, 2, 3 ]",
86  "[ 1, 2, 2, 3 ]") {}
87 };
88 
89 TEST_CASE_FIXTURE(MaximumFixture4D4D, "ParseMaximum4D4D")
90 {
91  RunTest<4, armnn::DataType::Float32>(
92  0,
93  {{"inputTensor1", { 0.0f, 1.0f, 2.0f,
94  3.0f, 4.0f, 5.0f,
95  6.0f, 7.0f, 8.0f,
96  9.0f, 10.0f, 11.0f }},
97  {"inputTensor2", { 5.0f, 1.0f, 3.0f,
98  4.0f, 5.5f, 1.0f,
99  2.0f, 17.0f, 18.0f,
100  19.0f, 1.0f, 3.0f }}},
101  {{"outputTensor", { 5.0f, 1.0f, 3.0f,
102  4.0f, 5.5f, 5.0f,
103  6.0f, 17.0f, 18.0f,
104  19.0f, 10.0f, 11.0f }}});
105 }
106 
107 struct MaximumBroadcastFixture4D4D : MaximumFixture
108 {
109  MaximumBroadcastFixture4D4D() : MaximumFixture("[ 1, 1, 2, 1 ]",
110  "[ 1, 2, 1, 3 ]",
111  "[ 1, 2, 2, 3 ]") {}
112 };
113 
114 TEST_CASE_FIXTURE(MaximumBroadcastFixture4D4D, "ParseMaximumBroadcast4D4D")
115 {
116  RunTest<4, armnn::DataType::Float32>(
117  0,
118  {{"inputTensor1", { 2.0f, 4.0f }},
119  {"inputTensor2", { 1.0f, 2.0f, 3.0f,
120  4.0f, 5.0f, 6.0f }}},
121  {{"outputTensor", { 2.0f, 2.0f, 3.0f,
122  4.0f, 4.0f, 4.0f,
123  4.0f, 5.0f, 6.0f,
124  4.0f, 5.0f, 6.0f }}});
125 }
126 
127 struct MaximumBroadcastFixture4D1D : MaximumFixture
128 {
129  MaximumBroadcastFixture4D1D() : MaximumFixture("[ 1, 2, 2, 3 ]",
130  "[ 1 ]",
131  "[ 1, 2, 2, 3 ]") {}
132 };
133 
134 TEST_CASE_FIXTURE(MaximumBroadcastFixture4D1D, "ParseMaximumBroadcast4D1D")
135 {
136  RunTest<4, armnn::DataType::Float32>(
137  0,
138  {{"inputTensor1", { 0.0f, 1.0f, 2.0f,
139  3.0f, 4.0f, 5.0f,
140  6.0f, 7.0f, 8.0f,
141  9.0f, 10.0f, 11.0f }},
142  {"inputTensor2", { 5.0f }}},
143  {{"outputTensor", { 5.0f, 5.0f, 5.0f,
144  5.0f, 5.0f, 5.0f,
145  6.0f, 7.0f, 8.0f,
146  9.0f, 10.0f, 11.0f }}});
147 }
148 
149 struct MaximumBroadcastFixture1D4D : MaximumFixture
150 {
151  MaximumBroadcastFixture1D4D() : MaximumFixture("[ 1 ]",
152  "[ 1, 2, 2, 3 ]",
153  "[ 1, 2, 2, 3 ]") {}
154 };
155 
156 TEST_CASE_FIXTURE(MaximumBroadcastFixture1D4D, "ParseMaximumBroadcast1D4D")
157 {
158  RunTest<4, armnn::DataType::Float32>(
159  0,
160  {{"inputTensor1", { 3.0f }},
161  {"inputTensor2", { 0.0f, 1.0f, 2.0f,
162  3.0f, 4.0f, 5.0f,
163  6.0f, 7.0f, 8.0f,
164  9.0f, 10.0f, 11.0f }}},
165  {{"outputTensor", { 3.0f, 3.0f, 3.0f,
166  3.0f, 4.0f, 5.0f,
167  6.0f, 7.0f, 8.0f,
168  9.0f, 10.0f, 11.0f }}});
169 }
170 
171 }
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
void Setup(bool testDynamic=true)