ArmNN
 22.02
DeserializeArgMinMax.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
7 #include "../Deserializer.hpp"
8 
9 #include <string>
10 #include <iostream>
11 
12 TEST_SUITE("DeserializeParser_ArgMinMax")
13 {
14 struct ArgMinMaxFixture : public ParserFlatbuffersSerializeFixture
15 {
16  explicit ArgMinMaxFixture(const std::string& inputShape,
17  const std::string& outputShape,
18  const std::string& axis,
19  const std::string& argMinMaxFunction)
20  {
21  m_JsonString = R"(
22  {
23  layers: [
24  {
25  layer_type: "InputLayer",
26  layer: {
27  base: {
28  base: {
29  layerName: "InputLayer",
30  layerType: "Input",
31  inputSlots: [
32 
33  ],
34  outputSlots: [
35  {
36  tensorInfo: {
37  dimensions: )" + inputShape + R"(,
38  dataType: "Float32",
39  quantizationScale: 0.0
40  }
41  }
42  ]
43  }
44  }
45  }
46  },
47  {
48  layer_type: "ArgMinMaxLayer",
49  layer: {
50  base: {
51  index: 1,
52  layerName: "ArgMinMaxLayer",
53  layerType: "ArgMinMax",
54  inputSlots: [
55  {
56  connection: {
57  sourceLayerIndex: 0,
58  outputSlotIndex: 0
59  }
60  }
61  ],
62  outputSlots: [
63  {
64  tensorInfo: {
65  dimensions: )" + outputShape + R"(,
66  dataType: "Signed64",
67  quantizationScale: 0.0
68  }
69  }
70  ]
71  },
72  descriptor: {
73  axis: )" + axis + R"(,
74  argMinMaxFunction: )" + argMinMaxFunction + R"(
75  }
76  }
77  },
78  {
79  layer_type: "OutputLayer",
80  layer: {
81  base: {
82  base: {
83  index: 2,
84  layerName: "OutputLayer",
85  layerType: "Output",
86  inputSlots: [
87  {
88  connection: {
89  sourceLayerIndex: 1,
90  outputSlotIndex: 0
91  }
92  }
93  ],
94  outputSlots: [
95 
96  ]
97  }
98  }
99  }
100  }
101  ],
102  inputIds: [
103  0
104  ],
105  outputIds: [
106  0
107  ],
108  featureVersions: {
109  bindingIdsScheme: 1
110  }
111  }
112  )";
113  Setup();
114  }
115 };
116 
117 struct SimpleArgMinMaxFixture : public ArgMinMaxFixture
118 {
119  SimpleArgMinMaxFixture() : ArgMinMaxFixture("[ 1, 1, 1, 5 ]",
120  "[ 1, 1, 1 ]",
121  "-1",
122  "Max") {}
123 };
124 
125 TEST_CASE_FIXTURE(SimpleArgMinMaxFixture, "ArgMinMax")
126 {
127  RunTest<3, armnn::DataType::Float32, armnn::DataType::Signed64>(
128  0,
129  {{"InputLayer", { 6.0f, 2.0f, 8.0f, 10.0f, 9.0f}}},
130  {{"OutputLayer",{ 3l }}});
131 }
132 
133 }
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")
TEST_SUITE("DeserializeParser_ArgMinMax")