1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2021, 2023 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker
6*89c4ff92SAndroid Build Coastguard Worker #include "BatchSpaceTestHelper.hpp"
7*89c4ff92SAndroid Build Coastguard Worker
8*89c4ff92SAndroid Build Coastguard Worker #include <armnn_delegate.hpp>
9*89c4ff92SAndroid Build Coastguard Worker
10*89c4ff92SAndroid Build Coastguard Worker #include <flatbuffers/flatbuffers.h>
11*89c4ff92SAndroid Build Coastguard Worker #include <schema_generated.h>
12*89c4ff92SAndroid Build Coastguard Worker
13*89c4ff92SAndroid Build Coastguard Worker #include <doctest/doctest.h>
14*89c4ff92SAndroid Build Coastguard Worker
15*89c4ff92SAndroid Build Coastguard Worker namespace armnnDelegate
16*89c4ff92SAndroid Build Coastguard Worker {
17*89c4ff92SAndroid Build Coastguard Worker
18*89c4ff92SAndroid Build Coastguard Worker // BatchToSpaceND Operator
BatchToSpaceNDFp32Test(std::vector<armnn::BackendId> & backends)19*89c4ff92SAndroid Build Coastguard Worker void BatchToSpaceNDFp32Test(std::vector<armnn::BackendId>& backends)
20*89c4ff92SAndroid Build Coastguard Worker {
21*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> inputShape { 4, 1, 1, 1 };
22*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> expectedOutputShape { 1, 2, 2, 1 };
23*89c4ff92SAndroid Build Coastguard Worker
24*89c4ff92SAndroid Build Coastguard Worker std::vector<float> inputValues { 1.0f, 2.0f, 3.0f, 4.0f };
25*89c4ff92SAndroid Build Coastguard Worker std::vector<float> expectedOutputValues { 1.0f, 2.0f, 3.0f, 4.0f };
26*89c4ff92SAndroid Build Coastguard Worker
27*89c4ff92SAndroid Build Coastguard Worker std::vector<unsigned int> blockShape({2, 2});
28*89c4ff92SAndroid Build Coastguard Worker std::vector<std::pair<unsigned int, unsigned int>> crops = {{0, 0}, {0, 0}};
29*89c4ff92SAndroid Build Coastguard Worker
30*89c4ff92SAndroid Build Coastguard Worker BatchSpaceTest<float>(tflite::BuiltinOperator_BATCH_TO_SPACE_ND,
31*89c4ff92SAndroid Build Coastguard Worker ::tflite::TensorType_FLOAT32,
32*89c4ff92SAndroid Build Coastguard Worker backends,
33*89c4ff92SAndroid Build Coastguard Worker inputShape,
34*89c4ff92SAndroid Build Coastguard Worker expectedOutputShape,
35*89c4ff92SAndroid Build Coastguard Worker inputValues,
36*89c4ff92SAndroid Build Coastguard Worker blockShape,
37*89c4ff92SAndroid Build Coastguard Worker crops,
38*89c4ff92SAndroid Build Coastguard Worker expectedOutputValues);
39*89c4ff92SAndroid Build Coastguard Worker }
40*89c4ff92SAndroid Build Coastguard Worker
BatchToSpaceNDFp32BatchOneTest(std::vector<armnn::BackendId> & backends)41*89c4ff92SAndroid Build Coastguard Worker void BatchToSpaceNDFp32BatchOneTest(std::vector<armnn::BackendId>& backends)
42*89c4ff92SAndroid Build Coastguard Worker {
43*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> inputShape { 1, 2, 2, 1 };
44*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> expectedOutputShape { 1, 2, 2, 1 };
45*89c4ff92SAndroid Build Coastguard Worker
46*89c4ff92SAndroid Build Coastguard Worker std::vector<float> inputValues { 1.0f, 2.0f, 3.0f, 4.0f };
47*89c4ff92SAndroid Build Coastguard Worker std::vector<float> expectedOutputValues { 1.0f, 2.0f, 3.0f, 4.0f };
48*89c4ff92SAndroid Build Coastguard Worker
49*89c4ff92SAndroid Build Coastguard Worker std::vector<unsigned int> blockShape({1, 1});
50*89c4ff92SAndroid Build Coastguard Worker std::vector<std::pair<unsigned int, unsigned int>> crops = {{0, 0}, {0, 0}};
51*89c4ff92SAndroid Build Coastguard Worker
52*89c4ff92SAndroid Build Coastguard Worker BatchSpaceTest<float>(tflite::BuiltinOperator_BATCH_TO_SPACE_ND,
53*89c4ff92SAndroid Build Coastguard Worker ::tflite::TensorType_FLOAT32,
54*89c4ff92SAndroid Build Coastguard Worker backends,
55*89c4ff92SAndroid Build Coastguard Worker inputShape,
56*89c4ff92SAndroid Build Coastguard Worker expectedOutputShape,
57*89c4ff92SAndroid Build Coastguard Worker inputValues,
58*89c4ff92SAndroid Build Coastguard Worker blockShape,
59*89c4ff92SAndroid Build Coastguard Worker crops,
60*89c4ff92SAndroid Build Coastguard Worker expectedOutputValues);
61*89c4ff92SAndroid Build Coastguard Worker }
62*89c4ff92SAndroid Build Coastguard Worker
BatchToSpaceNDUint8Test(std::vector<armnn::BackendId> & backends)63*89c4ff92SAndroid Build Coastguard Worker void BatchToSpaceNDUint8Test(std::vector<armnn::BackendId>& backends)
64*89c4ff92SAndroid Build Coastguard Worker {
65*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> inputShape { 4, 1, 1, 3 };
66*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> expectedOutputShape { 1, 2, 2, 3 };
67*89c4ff92SAndroid Build Coastguard Worker
68*89c4ff92SAndroid Build Coastguard Worker std::vector<uint8_t> inputValues { 1, 2, 3, 4, 5, 6, 7 };
69*89c4ff92SAndroid Build Coastguard Worker std::vector<uint8_t> expectedOutputValues { 1, 2, 3, 4, 5, 6, 7 };
70*89c4ff92SAndroid Build Coastguard Worker
71*89c4ff92SAndroid Build Coastguard Worker std::vector<unsigned int> blockShape({2, 2});
72*89c4ff92SAndroid Build Coastguard Worker std::vector<std::pair<unsigned int, unsigned int>> crops = {{0, 0}, {0, 0}};
73*89c4ff92SAndroid Build Coastguard Worker
74*89c4ff92SAndroid Build Coastguard Worker BatchSpaceTest<uint8_t>(tflite::BuiltinOperator_BATCH_TO_SPACE_ND,
75*89c4ff92SAndroid Build Coastguard Worker ::tflite::TensorType_UINT8,
76*89c4ff92SAndroid Build Coastguard Worker backends,
77*89c4ff92SAndroid Build Coastguard Worker inputShape,
78*89c4ff92SAndroid Build Coastguard Worker expectedOutputShape,
79*89c4ff92SAndroid Build Coastguard Worker inputValues,
80*89c4ff92SAndroid Build Coastguard Worker blockShape,
81*89c4ff92SAndroid Build Coastguard Worker crops,
82*89c4ff92SAndroid Build Coastguard Worker expectedOutputValues);
83*89c4ff92SAndroid Build Coastguard Worker }
84*89c4ff92SAndroid Build Coastguard Worker
85*89c4ff92SAndroid Build Coastguard Worker // SpaceToBatchND Operator
SpaceToBatchNDFp32Test(std::vector<armnn::BackendId> & backends)86*89c4ff92SAndroid Build Coastguard Worker void SpaceToBatchNDFp32Test(std::vector<armnn::BackendId>& backends)
87*89c4ff92SAndroid Build Coastguard Worker {
88*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> inputShape { 1, 2, 2, 1 };
89*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> expectedOutputShape { 4, 1, 1, 1 };
90*89c4ff92SAndroid Build Coastguard Worker
91*89c4ff92SAndroid Build Coastguard Worker std::vector<float> inputValues { 1.0f, 2.0f, 3.0f, 4.0f };
92*89c4ff92SAndroid Build Coastguard Worker std::vector<float> expectedOutputValues { 1.0f, 2.0f, 3.0f, 4.0f };
93*89c4ff92SAndroid Build Coastguard Worker
94*89c4ff92SAndroid Build Coastguard Worker std::vector<unsigned int> blockShape({2, 2});
95*89c4ff92SAndroid Build Coastguard Worker std::vector<std::pair<unsigned int, unsigned int>> padding = {{0, 0}, {0, 0}};
96*89c4ff92SAndroid Build Coastguard Worker
97*89c4ff92SAndroid Build Coastguard Worker BatchSpaceTest<float>(tflite::BuiltinOperator_SPACE_TO_BATCH_ND,
98*89c4ff92SAndroid Build Coastguard Worker ::tflite::TensorType_FLOAT32,
99*89c4ff92SAndroid Build Coastguard Worker backends,
100*89c4ff92SAndroid Build Coastguard Worker inputShape,
101*89c4ff92SAndroid Build Coastguard Worker expectedOutputShape,
102*89c4ff92SAndroid Build Coastguard Worker inputValues,
103*89c4ff92SAndroid Build Coastguard Worker blockShape,
104*89c4ff92SAndroid Build Coastguard Worker padding,
105*89c4ff92SAndroid Build Coastguard Worker expectedOutputValues);
106*89c4ff92SAndroid Build Coastguard Worker }
107*89c4ff92SAndroid Build Coastguard Worker
SpaceToBatchNDFp32PaddingTest(std::vector<armnn::BackendId> & backends)108*89c4ff92SAndroid Build Coastguard Worker void SpaceToBatchNDFp32PaddingTest(std::vector<armnn::BackendId>& backends)
109*89c4ff92SAndroid Build Coastguard Worker {
110*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> inputShape { 2, 2, 4, 1 };
111*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> expectedOutputShape { 8, 1, 3, 1 };
112*89c4ff92SAndroid Build Coastguard Worker
113*89c4ff92SAndroid Build Coastguard Worker std::vector<float> inputValues { 1.0f, 2.0f, 3.0f, 4.0f,
114*89c4ff92SAndroid Build Coastguard Worker 5.0f, 6.0f, 7.0f, 8.0f,
115*89c4ff92SAndroid Build Coastguard Worker 9.0f, 10.0f, 11.0f, 12.0f,
116*89c4ff92SAndroid Build Coastguard Worker 13.0f, 14.0f, 15.0f, 16.0f };
117*89c4ff92SAndroid Build Coastguard Worker
118*89c4ff92SAndroid Build Coastguard Worker std::vector<float> expectedOutputValues { 0.0f, 1.0f, 3.0f, 0.0f, 9.0f, 11.0f,
119*89c4ff92SAndroid Build Coastguard Worker 0.0f, 2.0f, 4.0f, 0.0f, 10.0f, 12.0f,
120*89c4ff92SAndroid Build Coastguard Worker 0.0f, 5.0f, 7.0f, 0.0f, 13.0f, 15.0f,
121*89c4ff92SAndroid Build Coastguard Worker 0.0f, 6.0f, 8.0f, 0.0f, 14.0f, 16.0f };
122*89c4ff92SAndroid Build Coastguard Worker
123*89c4ff92SAndroid Build Coastguard Worker std::vector<unsigned int> blockShape({2, 2});
124*89c4ff92SAndroid Build Coastguard Worker std::vector<std::pair<unsigned int, unsigned int>> padding = {{0, 0}, {2, 0}};
125*89c4ff92SAndroid Build Coastguard Worker
126*89c4ff92SAndroid Build Coastguard Worker BatchSpaceTest<float>(tflite::BuiltinOperator_SPACE_TO_BATCH_ND,
127*89c4ff92SAndroid Build Coastguard Worker ::tflite::TensorType_FLOAT32,
128*89c4ff92SAndroid Build Coastguard Worker backends,
129*89c4ff92SAndroid Build Coastguard Worker inputShape,
130*89c4ff92SAndroid Build Coastguard Worker expectedOutputShape,
131*89c4ff92SAndroid Build Coastguard Worker inputValues,
132*89c4ff92SAndroid Build Coastguard Worker blockShape,
133*89c4ff92SAndroid Build Coastguard Worker padding,
134*89c4ff92SAndroid Build Coastguard Worker expectedOutputValues);
135*89c4ff92SAndroid Build Coastguard Worker }
136*89c4ff92SAndroid Build Coastguard Worker
SpaceToBatchNDUint8Test(std::vector<armnn::BackendId> & backends)137*89c4ff92SAndroid Build Coastguard Worker void SpaceToBatchNDUint8Test(std::vector<armnn::BackendId>& backends)
138*89c4ff92SAndroid Build Coastguard Worker {
139*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> inputShape { 1, 2, 2, 3 };
140*89c4ff92SAndroid Build Coastguard Worker std::vector<int32_t> expectedOutputShape { 4, 1, 1, 3 };
141*89c4ff92SAndroid Build Coastguard Worker
142*89c4ff92SAndroid Build Coastguard Worker std::vector<uint8_t> inputValues { 1, 2, 3, 4, 5, 6, 7 };
143*89c4ff92SAndroid Build Coastguard Worker std::vector<uint8_t> expectedOutputValues { 1, 2, 3, 4, 5, 6, 7 };
144*89c4ff92SAndroid Build Coastguard Worker
145*89c4ff92SAndroid Build Coastguard Worker std::vector<unsigned int> blockShape({2, 2});
146*89c4ff92SAndroid Build Coastguard Worker std::vector<std::pair<unsigned int, unsigned int>> padding = {{0, 0}, {0, 0}};
147*89c4ff92SAndroid Build Coastguard Worker
148*89c4ff92SAndroid Build Coastguard Worker BatchSpaceTest<uint8_t>(tflite::BuiltinOperator_SPACE_TO_BATCH_ND,
149*89c4ff92SAndroid Build Coastguard Worker ::tflite::TensorType_UINT8,
150*89c4ff92SAndroid Build Coastguard Worker backends,
151*89c4ff92SAndroid Build Coastguard Worker inputShape,
152*89c4ff92SAndroid Build Coastguard Worker expectedOutputShape,
153*89c4ff92SAndroid Build Coastguard Worker inputValues,
154*89c4ff92SAndroid Build Coastguard Worker blockShape,
155*89c4ff92SAndroid Build Coastguard Worker padding,
156*89c4ff92SAndroid Build Coastguard Worker expectedOutputValues);
157*89c4ff92SAndroid Build Coastguard Worker }
158*89c4ff92SAndroid Build Coastguard Worker
159*89c4ff92SAndroid Build Coastguard Worker // BatchToSpaceND Tests
160*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("BatchToSpaceND_CpuAccTests")
161*89c4ff92SAndroid Build Coastguard Worker {
162*89c4ff92SAndroid Build Coastguard Worker
163*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_CpuAcc_Test")
164*89c4ff92SAndroid Build Coastguard Worker {
165*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
166*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNDFp32Test(backends);
167*89c4ff92SAndroid Build Coastguard Worker }
168*89c4ff92SAndroid Build Coastguard Worker
169*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_BatchOne_CpuAcc_Test")
170*89c4ff92SAndroid Build Coastguard Worker {
171*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
172*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNDFp32BatchOneTest(backends);
173*89c4ff92SAndroid Build Coastguard Worker }
174*89c4ff92SAndroid Build Coastguard Worker
175*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Uint8_CpuAcc_Test")
176*89c4ff92SAndroid Build Coastguard Worker {
177*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
178*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNDUint8Test(backends);
179*89c4ff92SAndroid Build Coastguard Worker }
180*89c4ff92SAndroid Build Coastguard Worker
181*89c4ff92SAndroid Build Coastguard Worker }
182*89c4ff92SAndroid Build Coastguard Worker
183*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("BatchToSpaceND_GpuAccTests")
184*89c4ff92SAndroid Build Coastguard Worker {
185*89c4ff92SAndroid Build Coastguard Worker
186*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_GpuAcc_Test")
187*89c4ff92SAndroid Build Coastguard Worker {
188*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
189*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNDFp32Test(backends);
190*89c4ff92SAndroid Build Coastguard Worker }
191*89c4ff92SAndroid Build Coastguard Worker
192*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_BatchOne_GpuAcc_Test")
193*89c4ff92SAndroid Build Coastguard Worker {
194*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
195*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNDFp32BatchOneTest(backends);
196*89c4ff92SAndroid Build Coastguard Worker }
197*89c4ff92SAndroid Build Coastguard Worker
198*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Uint8_GpuAcc_Test")
199*89c4ff92SAndroid Build Coastguard Worker {
200*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
201*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNDUint8Test(backends);
202*89c4ff92SAndroid Build Coastguard Worker }
203*89c4ff92SAndroid Build Coastguard Worker
204*89c4ff92SAndroid Build Coastguard Worker }
205*89c4ff92SAndroid Build Coastguard Worker
206*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("BatchToSpaceND_CpuRefTests")
207*89c4ff92SAndroid Build Coastguard Worker {
208*89c4ff92SAndroid Build Coastguard Worker
209*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_CpuRef_Test")
210*89c4ff92SAndroid Build Coastguard Worker {
211*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
212*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNDFp32Test(backends);
213*89c4ff92SAndroid Build Coastguard Worker }
214*89c4ff92SAndroid Build Coastguard Worker
215*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Fp32_BatchOne_CpuRef_Test")
216*89c4ff92SAndroid Build Coastguard Worker {
217*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
218*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNDFp32BatchOneTest(backends);
219*89c4ff92SAndroid Build Coastguard Worker }
220*89c4ff92SAndroid Build Coastguard Worker
221*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("BatchToSpaceND_Uint8_CpuRef_Test")
222*89c4ff92SAndroid Build Coastguard Worker {
223*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
224*89c4ff92SAndroid Build Coastguard Worker BatchToSpaceNDUint8Test(backends);
225*89c4ff92SAndroid Build Coastguard Worker }
226*89c4ff92SAndroid Build Coastguard Worker
227*89c4ff92SAndroid Build Coastguard Worker }
228*89c4ff92SAndroid Build Coastguard Worker
229*89c4ff92SAndroid Build Coastguard Worker // SpaceToBatchND Tests
230*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("SpaceToBatchND_CpuAccTests")
231*89c4ff92SAndroid Build Coastguard Worker {
232*89c4ff92SAndroid Build Coastguard Worker
233*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_CpuAcc_Test")
234*89c4ff92SAndroid Build Coastguard Worker {
235*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
236*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNDFp32Test(backends);
237*89c4ff92SAndroid Build Coastguard Worker }
238*89c4ff92SAndroid Build Coastguard Worker
239*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_Padding_CpuAcc_Test")
240*89c4ff92SAndroid Build Coastguard Worker {
241*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
242*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNDFp32PaddingTest(backends);
243*89c4ff92SAndroid Build Coastguard Worker }
244*89c4ff92SAndroid Build Coastguard Worker
245*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Uint8_CpuAcc_Test")
246*89c4ff92SAndroid Build Coastguard Worker {
247*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuAcc};
248*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNDUint8Test(backends);
249*89c4ff92SAndroid Build Coastguard Worker }
250*89c4ff92SAndroid Build Coastguard Worker
251*89c4ff92SAndroid Build Coastguard Worker }
252*89c4ff92SAndroid Build Coastguard Worker
253*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("SpaceToBatchND_GpuAccTests")
254*89c4ff92SAndroid Build Coastguard Worker {
255*89c4ff92SAndroid Build Coastguard Worker
256*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_GpuAcc_Test")
257*89c4ff92SAndroid Build Coastguard Worker {
258*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
259*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNDFp32Test(backends);
260*89c4ff92SAndroid Build Coastguard Worker }
261*89c4ff92SAndroid Build Coastguard Worker
262*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_Padding_GpuAcc_Test")
263*89c4ff92SAndroid Build Coastguard Worker {
264*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
265*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNDFp32PaddingTest(backends);
266*89c4ff92SAndroid Build Coastguard Worker }
267*89c4ff92SAndroid Build Coastguard Worker
268*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Uint8_GpuAcc_Test")
269*89c4ff92SAndroid Build Coastguard Worker {
270*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::GpuAcc};
271*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNDUint8Test(backends);
272*89c4ff92SAndroid Build Coastguard Worker }
273*89c4ff92SAndroid Build Coastguard Worker
274*89c4ff92SAndroid Build Coastguard Worker }
275*89c4ff92SAndroid Build Coastguard Worker
276*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("SpaceToBatchND_CpuRefTests")
277*89c4ff92SAndroid Build Coastguard Worker {
278*89c4ff92SAndroid Build Coastguard Worker
279*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_CpuRef_Test")
280*89c4ff92SAndroid Build Coastguard Worker {
281*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
282*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNDFp32Test(backends);
283*89c4ff92SAndroid Build Coastguard Worker }
284*89c4ff92SAndroid Build Coastguard Worker
285*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Fp32_Padding_CpuRef_Test")
286*89c4ff92SAndroid Build Coastguard Worker {
287*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
288*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNDFp32PaddingTest(backends);
289*89c4ff92SAndroid Build Coastguard Worker }
290*89c4ff92SAndroid Build Coastguard Worker
291*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("SpaceToBatchND_Uint8_CpuRef_Test")
292*89c4ff92SAndroid Build Coastguard Worker {
293*89c4ff92SAndroid Build Coastguard Worker std::vector<armnn::BackendId> backends = {armnn::Compute::CpuRef};
294*89c4ff92SAndroid Build Coastguard Worker SpaceToBatchNDUint8Test(backends);
295*89c4ff92SAndroid Build Coastguard Worker }
296*89c4ff92SAndroid Build Coastguard Worker
297*89c4ff92SAndroid Build Coastguard Worker }
298*89c4ff92SAndroid Build Coastguard Worker
299*89c4ff92SAndroid Build Coastguard Worker } // namespace armnnDelegate