ArmNN
 20.02
DeserializeResizeBilinear.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include <boost/test/unit_test.hpp>
8 #include "../Deserializer.hpp"
9 
10 #include <string>
11 
12 BOOST_AUTO_TEST_SUITE(Deserializer)
13 
14 struct ResizeBilinearFixture : public ParserFlatbuffersSerializeFixture
15 {
16  explicit ResizeBilinearFixture(const std::string& inputShape,
17  const std::string& targetWidth,
18  const std::string& targetHeight,
19  const std::string& dataLayout,
20  const std::string& outputShape,
21  const std::string& dataType)
22  {
23  m_JsonString = R"(
24  {
25  inputIds: [0],
26  outputIds: [2],
27  layers: [
28  {
29  layer_type: "InputLayer",
30  layer: {
31  base: {
32  layerBindingId: 0,
33  base: {
34  index: 0,
35  layerName: "InputLayer",
36  layerType: "Input",
37  inputSlots: [{
38  index: 0,
39  connection: {sourceLayerIndex:0, outputSlotIndex:0 },
40  }],
41  outputSlots: [{
42  index: 0,
43  tensorInfo: {
44  dimensions: )" + inputShape + R"(,
45  dataType: )" + dataType + R"(
46  }
47  }]
48  }
49  }
50  }
51  },
52  {
53  layer_type: "ResizeBilinearLayer",
54  layer: {
55  base: {
56  index: 1,
57  layerName: "ResizeBilinearLayer",
58  layerType: "ResizeBilinear",
59  inputSlots: [{
60  index: 0,
61  connection: {sourceLayerIndex:0, outputSlotIndex:0 },
62  }],
63  outputSlots: [{
64  index: 0,
65  tensorInfo: {
66  dimensions: )" + outputShape + R"(,
67  dataType: )" + dataType + R"(
68  }
69  }]
70  },
71  descriptor: {
72  targetWidth: )" + targetWidth + R"(,
73  targetHeight: )" + targetHeight + R"(,
74  dataLayout: )" + dataLayout + R"(,
75  }
76  }
77  },
78  {
79  layer_type: "OutputLayer",
80  layer: {
81  base:{
82  layerBindingId: 2,
83  base: {
84  index: 2,
85  layerName: "OutputLayer",
86  layerType: "Output",
87  inputSlots: [{
88  index: 0,
89  connection: {sourceLayerIndex:1, outputSlotIndex:0 },
90  }],
91  outputSlots: [{
92  index: 0,
93  tensorInfo: {
94  dimensions: )" + outputShape + R"(,
95  dataType: )" + dataType + R"(
96  },
97  }],
98  }
99  }
100  },
101  }
102  ]
103  }
104  )";
105  SetupSingleInputSingleOutput("InputLayer", "OutputLayer");
106  }
107 };
108 
109 struct SimpleResizeBilinearFixture : ResizeBilinearFixture
110 {
111  SimpleResizeBilinearFixture() : ResizeBilinearFixture("[1, 2, 2, 2]",
112  "1",
113  "1",
114  "NCHW",
115  "[1, 2, 1, 1]",
116  "Float32") {}
117 };
118 
119 BOOST_FIXTURE_TEST_CASE(SimpleResizeBilinearFloat32, SimpleResizeBilinearFixture)
120 {
121  RunTest<4, armnn::DataType::Float32>(0,
122  {
123  1.0f, 255.0f, 200.0f, 250.0f,
124  250.0f, 200.0f, 250.0f, 1.0f
125  },
126  {
127  1.0f, 250.0f
128  });
129 }
130 
BOOST_AUTO_TEST_SUITE(TensorflowLiteParser)
void SetupSingleInputSingleOutput(const std::string &inputName, const std::string &outputName)
BOOST_FIXTURE_TEST_CASE(SimpleResizeBilinearFloat32, SimpleResizeBilinearFixture)
BOOST_AUTO_TEST_SUITE_END()