ArmNN
 21.11
DeserializeRank.cpp File Reference

Go to the source code of this file.

Functions

 TEST_SUITE ("Deserializer_Rank")
 

Function Documentation

◆ TEST_SUITE()

TEST_SUITE ( "Deserializer_Rank"  )

Definition at line 11 of file DeserializeRank.cpp.

References ParserFlatbuffersSerializeFixture::Setup(), and TEST_CASE_FIXTURE().

12 {
13 struct RankFixture : public ParserFlatbuffersSerializeFixture
14 {
15  explicit RankFixture(const std::string &inputShape,
16  const std::string &dataType)
17  {
18  m_JsonString = R"(
19  {
20  inputIds: [0],
21  outputIds: [2],
22  layers: [
23  {
24  layer_type: "InputLayer",
25  layer: {
26  base: {
27  base: {
28  layerName: "",
29  layerType: "Input",
30  inputSlots: [
31 
32  ],
33  outputSlots: [
34  {
35  tensorInfo: {
36  dimensions: )" + inputShape + R"(,
37  dataType: )" + dataType + R"(,
38  quantizationScale: 0.0
39  }
40  }
41  ]
42  }
43  }
44  }
45  },
46  {
47  layer_type: "RankLayer",
48  layer: {
49  base: {
50  index: 1,
51  layerName: "rank",
52  layerType: "Rank",
53  inputSlots: [
54  {
55  connection: {
56  sourceLayerIndex: 0,
57  outputSlotIndex: 0
58  }
59  }
60  ],
61  outputSlots: [
62  {
63  tensorInfo: {
64  dimensions: [ 1 ],
65  dataType: "Signed32",
66  quantizationScale: 0.0,
67  dimensionality: 2
68  }
69  }
70  ]
71  }
72  }
73  },
74  {
75  layer_type: "OutputLayer",
76  layer: {
77  base: {
78  base: {
79  index: 2,
80  layerName: "",
81  layerType: "Output",
82  inputSlots: [
83  {
84  connection: {
85  sourceLayerIndex: 1,
86  outputSlotIndex: 0
87  }
88  }
89  ],
90  outputSlots: []
91  }
92  }
93  }
94  }
95  ],
96  }
97  )";
98  Setup();
99  }
100 };
101 
102 struct SimpleRankDimSize1Fixture : RankFixture
103 {
104  SimpleRankDimSize1Fixture() : RankFixture("[ 8 ]", "QSymmS16") {}
105 };
106 
107 struct SimpleRankDimSize2Fixture : RankFixture
108 {
109  SimpleRankDimSize2Fixture() : RankFixture("[ 3, 3 ]", "QSymmS8") {}
110 };
111 
112 struct SimpleRankDimSize3Fixture : RankFixture
113 {
114  SimpleRankDimSize3Fixture() : RankFixture("[ 2, 2, 1 ]", "Signed32") {}
115 };
116 
117 struct SimpleRankDimSize4Fixture : RankFixture
118 {
119  SimpleRankDimSize4Fixture() : RankFixture("[ 2, 2, 1, 1 ]", "Float32") {}
120 };
121 
122 TEST_CASE_FIXTURE(SimpleRankDimSize1Fixture, "RankDimSize1Float16")
123 {
124  RunTest<1, armnn::DataType::QSymmS16, armnn::DataType::Signed32>( 0,
125  { 1, 2, 3, 4, 5, 6, 7, 8 },
126  { 1 });
127 }
128 
129 TEST_CASE_FIXTURE(SimpleRankDimSize2Fixture, "RankDimSize2QAsymmU8")
130 {
131  RunTest<1, armnn::DataType::QSymmS8, armnn::DataType::Signed32>( 0,
132  { 1, 2, 3, 4, 5, 6, 7, 8, 9 },
133  { 2 });
134 }
135 
136 TEST_CASE_FIXTURE(SimpleRankDimSize3Fixture, "RankDimSize3Signed32")
137 {
138  RunTest<1, armnn::DataType::Signed32, armnn::DataType::Signed32>( 0,
139  { 111, 85, 226, 3 },
140  { 3 });
141 }
142 
143 TEST_CASE_FIXTURE(SimpleRankDimSize4Fixture, "RankDimSize4Float32")
144 {
145  RunTest<1, armnn::DataType::Float32, armnn::DataType::Signed32>( 0,
146  { 111, 85, 226, 3 },
147  { 4 });
148 }
149 
150 }
TEST_CASE_FIXTURE(ClContextControlFixture, "CopyBetweenNeonAndGpu")