blob: c2d21e54318ee3334dec1adaff8f652a5d7e0571 [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
6#include <boost/test/unit_test.hpp>
7#include "ParserFlatbuffersSerializeFixture.hpp"
Finn Williams85d36712021-01-26 22:30:06 +00008#include <armnnDeserializer/IDeserializer.hpp>
Nattapat Chaimanowongebb0f9c2019-03-01 12:14:06 +00009
10#include <string>
11
12BOOST_AUTO_TEST_SUITE(Deserializer)
13
14struct PadFixture : public ParserFlatbuffersSerializeFixture
15{
16 explicit PadFixture(const std::string &inputShape,
17 const std::string &padList,
18 const std::string &outputShape,
19 const std::string &dataType)
20 {
21 m_JsonString = R"(
22 {
23 inputIds: [0],
24 outputIds: [2],
25 layers: [
26 {
27 layer_type: "InputLayer",
28 layer: {
29 base: {
30 layerBindingId: 0,
31 base: {
32 index: 0,
33 layerName: "InputLayer",
34 layerType: "Input",
35 inputSlots: [{
36 index: 0,
37 connection: {sourceLayerIndex:0, outputSlotIndex:0 },
38 }],
39 outputSlots: [{
40 index: 0,
41 tensorInfo: {
42 dimensions: )" + inputShape + R"(,
43 dataType: )" + dataType + R"(
44 }
45 }]
46 }
47 }
48 }
49 },
50 {
51 layer_type: "PadLayer",
52 layer: {
53 base: {
54 index: 1,
55 layerName: "PadLayer",
56 layerType: "Pad",
57 inputSlots: [{
58 index: 0,
59 connection: {sourceLayerIndex:0, outputSlotIndex:0 },
60 }],
61 outputSlots: [{
62 index: 0,
63 tensorInfo: {
64 dimensions: )" + outputShape + R"(,
65 dataType: )" + dataType + R"(
66 }
67 }]
68 },
69 descriptor: {
70 padList: )" + padList + R"(,
71 }
72 }
73 },
74 {
75 layer_type: "OutputLayer",
76 layer: {
77 base:{
78 layerBindingId: 2,
79 base: {
80 index: 2,
81 layerName: "OutputLayer",
82 layerType: "Output",
83 inputSlots: [{
84 index: 0,
85 connection: {sourceLayerIndex:1, outputSlotIndex:0 },
86 }],
87 outputSlots: [{
88 index: 0,
89 tensorInfo: {
90 dimensions: )" + outputShape + R"(,
91 dataType: )" + dataType + R"(
92 },
93 }],
94 }
95 }
96 },
97 }
98 ]
99 }
100 )";
101 SetupSingleInputSingleOutput("InputLayer", "OutputLayer");
102 }
103};
104
105struct SimplePadFixture : PadFixture
106{
107 SimplePadFixture() : PadFixture("[ 2, 2, 2 ]",
108 "[ 0, 1, 2, 1, 2, 2 ]",
109 "[ 3, 5, 6 ]",
110 "QuantisedAsymm8") {}
111};
112
113BOOST_FIXTURE_TEST_CASE(SimplePadQuantisedAsymm8, SimplePadFixture)
114{
Derek Lambertif90c56d2020-01-10 17:14:08 +0000115 RunTest<3, armnn::DataType::QAsymmU8>(0,
Nattapat Chaimanowongebb0f9c2019-03-01 12:14:06 +0000116 {
117 0, 4, 2, 5, 6, 1, 5, 2
118 },
119 {
120 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
121 4, 0, 0, 0, 0, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0,
122 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,
123 1, 0, 0, 0, 0, 5, 2, 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 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
126 });
127}
128
129BOOST_AUTO_TEST_SUITE_END()