blob: 5a792283d8ca38cf2bf722d529624afb95ac0565 [file] [log] [blame]
Mike Kelly1f140f72021-04-06 12:25:55 +01001//
2// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
Mike Kelly1f140f72021-04-06 12:25:55 +01006#include "ParserFlatbuffersSerializeFixture.hpp"
7#include "../Deserializer.hpp"
8
9#include <string>
10#include <iostream>
11
Sadik Armagan1625efc2021-06-10 18:24:34 +010012TEST_SUITE("DeserializeParser_ArgMinMax")
13{
Mike Kelly1f140f72021-04-06 12:25:55 +010014struct 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
117struct SimpleArgMinMaxFixture : public ArgMinMaxFixture
118{
119 SimpleArgMinMaxFixture() : ArgMinMaxFixture("[ 1, 1, 1, 5 ]",
120 "[ 1, 1, 1 ]",
121 "-1",
122 "Max") {}
123};
124
Sadik Armagan1625efc2021-06-10 18:24:34 +0100125TEST_CASE_FIXTURE(SimpleArgMinMaxFixture, "ArgMinMax")
Mike Kelly1f140f72021-04-06 12:25:55 +0100126{
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
Sadik Armagan1625efc2021-06-10 18:24:34 +0100133}