blob: 43de22912f642323abad88f2718353f0a0f942bd [file] [log] [blame]
Nattapat Chaimanowongebb0f9c2019-03-01 12:14:06 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
Nattapat Chaimanowongebb0f9c2019-03-01 12:14:06 +00006#include "ParserFlatbuffersSerializeFixture.hpp"
Finn Williams85d36712021-01-26 22:30:06 +00007#include <armnnDeserializer/IDeserializer.hpp>
Nattapat Chaimanowongebb0f9c2019-03-01 12:14:06 +00008
9#include <string>
10
Sadik Armagan1625efc2021-06-10 18:24:34 +010011TEST_SUITE("Deserializer_Pad")
12{
Nattapat Chaimanowongebb0f9c2019-03-01 12:14:06 +000013struct PadFixture : public ParserFlatbuffersSerializeFixture
14{
15 explicit PadFixture(const std::string &inputShape,
16 const std::string &padList,
17 const std::string &outputShape,
18 const std::string &dataType)
19 {
20 m_JsonString = R"(
21 {
22 inputIds: [0],
23 outputIds: [2],
24 layers: [
25 {
26 layer_type: "InputLayer",
27 layer: {
28 base: {
29 layerBindingId: 0,
30 base: {
31 index: 0,
32 layerName: "InputLayer",
33 layerType: "Input",
34 inputSlots: [{
35 index: 0,
36 connection: {sourceLayerIndex:0, outputSlotIndex:0 },
37 }],
38 outputSlots: [{
39 index: 0,
40 tensorInfo: {
41 dimensions: )" + inputShape + R"(,
42 dataType: )" + dataType + R"(
43 }
44 }]
45 }
46 }
47 }
48 },
49 {
50 layer_type: "PadLayer",
51 layer: {
52 base: {
53 index: 1,
54 layerName: "PadLayer",
55 layerType: "Pad",
56 inputSlots: [{
57 index: 0,
58 connection: {sourceLayerIndex:0, outputSlotIndex:0 },
59 }],
60 outputSlots: [{
61 index: 0,
62 tensorInfo: {
63 dimensions: )" + outputShape + R"(,
64 dataType: )" + dataType + R"(
65 }
66 }]
67 },
68 descriptor: {
69 padList: )" + padList + R"(,
70 }
71 }
72 },
73 {
74 layer_type: "OutputLayer",
75 layer: {
76 base:{
77 layerBindingId: 2,
78 base: {
79 index: 2,
80 layerName: "OutputLayer",
81 layerType: "Output",
82 inputSlots: [{
83 index: 0,
84 connection: {sourceLayerIndex:1, outputSlotIndex:0 },
85 }],
86 outputSlots: [{
87 index: 0,
88 tensorInfo: {
89 dimensions: )" + outputShape + R"(,
90 dataType: )" + dataType + R"(
91 },
92 }],
93 }
94 }
95 },
96 }
97 ]
98 }
99 )";
100 SetupSingleInputSingleOutput("InputLayer", "OutputLayer");
101 }
102};
103
104struct SimplePadFixture : PadFixture
105{
106 SimplePadFixture() : PadFixture("[ 2, 2, 2 ]",
107 "[ 0, 1, 2, 1, 2, 2 ]",
108 "[ 3, 5, 6 ]",
109 "QuantisedAsymm8") {}
110};
111
Sadik Armagan1625efc2021-06-10 18:24:34 +0100112TEST_CASE_FIXTURE(SimplePadFixture, "SimplePadQuantisedAsymm8")
Nattapat Chaimanowongebb0f9c2019-03-01 12:14:06 +0000113{
Derek Lambertif90c56d2020-01-10 17:14:08 +0000114 RunTest<3, armnn::DataType::QAsymmU8>(0,
Nattapat Chaimanowongebb0f9c2019-03-01 12:14:06 +0000115 {
116 0, 4, 2, 5, 6, 1, 5, 2
117 },
118 {
119 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
120 4, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0,
121 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
122 1, 0, 0, 0, 0, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0,
123 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
124 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
125 });
126}
127
Sadik Armagan1625efc2021-06-10 18:24:34 +0100128}