blob: 1f38675b37ee7460964df6038968ffaf50f2de3d [file] [log] [blame]
telsoa014fcda012018-03-09 14:13:49 +00001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
David Beckecb56cd2018-09-05 12:52:57 +01003// SPDX-License-Identifier: MIT
telsoa014fcda012018-03-09 14:13:49 +00004//
5#pragma once
6
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +00007#include <armnn/ArmNN.hpp>
8#include <armnn/Tensor.hpp>
9
10#include <Half.hpp>
telsoa014fcda012018-03-09 14:13:49 +000011
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000012#include <backendsCommon/IBackendInternal.hpp>
13#include <backendsCommon/IMemoryManager.hpp>
14
telsoa014fcda012018-03-09 14:13:49 +000015#include <boost/multi_array.hpp>
16#include <boost/assert.hpp>
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +000017
telsoa014fcda012018-03-09 14:13:49 +000018#include <array>
19
telsoa01c577f2c2018-08-31 09:22:23 +010020// Layer callables.
telsoa014fcda012018-03-09 14:13:49 +000021
22namespace armnn
23{
24class IWorkloadFactory;
25}
26
27template <std::size_t n>
28boost::array<unsigned int, n> GetTensorShapeAsArray(const armnn::TensorInfo& tensorInfo)
29{
30 BOOST_ASSERT_MSG(n == tensorInfo.GetNumDimensions(),
31 "Attempting to construct a shape array of mismatching size");
32
33 boost::array<unsigned int, n> shape;
34 for (unsigned int i = 0; i < n; i++)
35 {
36 shape[i] = tensorInfo.GetShape()[i];
37 }
38 return shape;
39}
40
41template <typename T, std::size_t n>
42struct LayerTestResult
43{
44 LayerTestResult(const armnn::TensorInfo& outputInfo)
45 {
46 auto shape( GetTensorShapeAsArray<n>(outputInfo) );
47 output.resize(shape);
48 outputExpected.resize(shape);
49 supported = true;
50 }
51
52 boost::multi_array<T, n> output;
53 boost::multi_array<T, n> outputExpected;
54 bool supported;
55};
56
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000057LayerTestResult<float, 4> SimpleConvolution2d3x5Test(
58 armnn::IWorkloadFactory& workloadFactory,
59 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
60 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +000061 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +000062
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000063LayerTestResult<float, 4> SimpleConvolution2d3x3Test(
64 armnn::IWorkloadFactory& workloadFactory,
65 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
66 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +000067 const armnn::DataLayout layout);
Francis Murtaghd59116e2018-10-04 16:03:07 +010068
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000069LayerTestResult<float, 4> SimpleConvolution2d3x3NhwcTest(
70 armnn::IWorkloadFactory& workloadFactory,
71 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
72 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +000073
74LayerTestResult<float, 4>
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000075Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest(
76 armnn::IWorkloadFactory& workloadFactory,
77 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +000078 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +000079
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000080LayerTestResult<float, 4> Convolution2dAsymmetricPaddingTest(
81 armnn::IWorkloadFactory& workloadFactory,
82 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +000083 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +000084
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000085LayerTestResult<float, 4> Convolution1dTest(
86 armnn::IWorkloadFactory& workloadFactory,
87 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
88 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +000089
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000090LayerTestResult<uint8_t, 4> Convolution1dUint8Test(
91 armnn::IWorkloadFactory& workloadFactory,
92 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
93 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +000094
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000095LayerTestResult<float, 4> DepthwiseConvolution2dTest(
96 armnn::IWorkloadFactory& workloadFactory,
97 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
98 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +000099 const armnn::DataLayout layout);
Nikhil Rajcec6b652018-10-12 13:51:57 +0100100
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000101LayerTestResult<float, 4> DepthwiseConvolution2dDepthNhwcTest(
102 armnn::IWorkloadFactory& workloadFactory,
103 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
104 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +0000105
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000106LayerTestResult<float, 4> DepthwiseConvolution2dDepthMul1Test(
107 armnn::IWorkloadFactory& workloadFactory,
108 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
109 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000110 const armnn::DataLayout layout);
surmeh013537c2c2018-05-18 16:31:43 +0100111
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000112LayerTestResult<float, 4> DepthwiseConvolution2dAsymmetricTest(
113 armnn::IWorkloadFactory& workloadFactory,
114 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
115 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000116 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +0000117
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000118LayerTestResult<float, 4> SimpleMaxPooling2dSize2x2Stride2x2Test(
119 armnn::IWorkloadFactory& workloadFactory,
120 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
121 bool forceNoPadding);
James Conroy45a9b772018-10-31 11:47:53 +0000122
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000123LayerTestResult<uint8_t, 4> SimpleMaxPooling2dSize2x2Stride2x2Uint8Test(
124 armnn::IWorkloadFactory& workloadFactory,
125 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
126 bool forceNoPadding);
James Conroy45a9b772018-10-31 11:47:53 +0000127
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000128LayerTestResult<float, 4> SimpleMaxPooling2dSize3x3Stride2x4Test(
129 armnn::IWorkloadFactory& workloadFactory,
130 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
131 bool forceNoPadding);
132
133LayerTestResult<uint8_t, 4> SimpleMaxPooling2dSize3x3Stride2x4Uint8Test(
134 armnn::IWorkloadFactory& workloadFactory,
135 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
136 bool forceNoPadding );
137
138LayerTestResult<float, 4> IgnorePaddingSimpleMaxPooling2dTest(
139 armnn::IWorkloadFactory& workloadFactory,
140 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
141
142LayerTestResult<uint8_t, 4> IgnorePaddingSimpleMaxPooling2dUint8Test(
143 armnn::IWorkloadFactory& workloadFactory,
144 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
145
146LayerTestResult<float, 4> IgnorePaddingMaxPooling2dSize3Test(
147 armnn::IWorkloadFactory& workloadFactory,
148 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
149
150LayerTestResult<uint8_t, 4> IgnorePaddingMaxPooling2dSize3Uint8Test(
151 armnn::IWorkloadFactory& workloadFactory,
152 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
153
154LayerTestResult<float, 4> SimpleMaxPooling2dTest(
155 armnn::IWorkloadFactory& workloadFactory,
156 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000157 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000158
159LayerTestResult<uint8_t, 4> SimpleMaxPooling2dUint8Test(
160 armnn::IWorkloadFactory& workloadFactory,
161 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000162 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000163
164LayerTestResult<float, 4> SimpleAveragePooling2dTest(
165 armnn::IWorkloadFactory& workloadFactory,
166 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000167 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000168
169LayerTestResult<uint8_t, 4> SimpleAveragePooling2dUint8Test(
170 armnn::IWorkloadFactory& workloadFactory,
171 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000172 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000173
174LayerTestResult<float, 4> IgnorePaddingAveragePooling2dSize3x2Stride2x2Test(
175 armnn::IWorkloadFactory& workloadFactory,
176 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
177 bool forceNoPadding);
178
179LayerTestResult<float, 4> IgnorePaddingSimpleAveragePooling2dTest(
180 armnn::IWorkloadFactory& workloadFactory,
181 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
182
183LayerTestResult<uint8_t, 4> IgnorePaddingSimpleAveragePooling2dUint8Test(
184 armnn::IWorkloadFactory& workloadFactory,
185 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
186
187LayerTestResult<float, 4> IgnorePaddingSimpleAveragePooling2dNoPaddingTest(
188 armnn::IWorkloadFactory& workloadFactory,
189 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
190
telsoa014fcda012018-03-09 14:13:49 +0000191LayerTestResult<uint8_t, 4> IgnorePaddingSimpleAveragePooling2dNoPaddingUint8Test(
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000192 armnn::IWorkloadFactory& workloadFactory,
193 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000194
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000195LayerTestResult<float, 4> IgnorePaddingAveragePooling2dSize3Test(
196 armnn::IWorkloadFactory& workloadFactory,
197 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000198
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000199LayerTestResult<uint8_t, 4> IgnorePaddingAveragePooling2dSize3Uint8Test(
200 armnn::IWorkloadFactory& workloadFactory,
201 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000202
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000203LayerTestResult<float, 4> SimpleL2Pooling2dTest(
204 armnn::IWorkloadFactory& workloadFactory,
205 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000206 const armnn::DataLayout dataLayout);
telsoa014fcda012018-03-09 14:13:49 +0000207
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000208LayerTestResult<uint8_t, 4> SimpleL2Pooling2dUint8Test(
209 armnn::IWorkloadFactory& workloadFactory,
210 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000211 const armnn::DataLayout dataLayout);
telsoa014fcda012018-03-09 14:13:49 +0000212
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000213LayerTestResult<float, 4> L2Pooling2dSize3Stride1Test(
214 armnn::IWorkloadFactory& workloadFactory,
215 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000216
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000217LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride1Uint8Test(
218 armnn::IWorkloadFactory& workloadFactory,
219 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000220
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000221LayerTestResult<float, 4> L2Pooling2dSize3Stride3Test(
222 armnn::IWorkloadFactory& workloadFactory,
223 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000224
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000225LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride3Uint8Test(
226 armnn::IWorkloadFactory& workloadFactory,
227 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000228
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000229LayerTestResult<float, 4> L2Pooling2dSize3Stride4Test(
230 armnn::IWorkloadFactory& workloadFactory,
231 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000232
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000233LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride4Uint8Test(
234 armnn::IWorkloadFactory& workloadFactory,
235 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000236
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000237LayerTestResult<float, 4> L2Pooling2dSize7Test(
238 armnn::IWorkloadFactory& workloadFactory,
239 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000240
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000241LayerTestResult<uint8_t, 4> L2Pooling2dSize7Uint8Test(
242 armnn::IWorkloadFactory& workloadFactory,
243 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000244
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000245LayerTestResult<float, 4> L2Pooling2dSize9Test(
246 armnn::IWorkloadFactory& workloadFactory,
247 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000248
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000249LayerTestResult<uint8_t, 4> L2Pooling2dSize9Uint8Test(
250 armnn::IWorkloadFactory& workloadFactory,
251 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
252
253LayerTestResult<float, 4> LargeTensorsAveragePooling2dTest(
254 armnn::IWorkloadFactory& workloadFactory,
255 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
256
257LayerTestResult<uint8_t, 4> LargeTensorsAveragePooling2dUint8Test(
258 armnn::IWorkloadFactory& workloadFactory,
259 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
260
261LayerTestResult<float, 4> IgnorePaddingSimpleL2Pooling2dTest(
262 armnn::IWorkloadFactory& workloadFactory,
263 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
264
265LayerTestResult<uint8_t, 4> IgnorePaddingSimpleL2Pooling2dUint8Test(
266 armnn::IWorkloadFactory& workloadFactory,
267 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
268
269LayerTestResult<float, 4> IgnorePaddingL2Pooling2dSize3Test(
270 armnn::IWorkloadFactory& workloadFactory,
271 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
272
273LayerTestResult<uint8_t, 4> IgnorePaddingL2Pooling2dSize3Uint8Test(
274 armnn::IWorkloadFactory& workloadFactory,
275 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
276
277LayerTestResult<float, 4> AsymmetricNonSquarePooling2dTest(
278 armnn::IWorkloadFactory& workloadFactory,
279 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
280
281LayerTestResult<uint8_t, 4> AsymmetricNonSquarePooling2dUint8Test(
282 armnn::IWorkloadFactory& workloadFactory,
283 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
284
285LayerTestResult<float, 4> ComparePooling2dTest(
286 armnn::IWorkloadFactory& workloadFactory,
287 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
288 armnn::IWorkloadFactory& refWorkloadFactory,
289 armnn::PoolingAlgorithm poolingType);
290
291LayerTestResult<uint8_t, 4> ComparePooling2dUint8Test(
292 armnn::IWorkloadFactory& workloadFactory,
293 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
294 armnn::IWorkloadFactory& refWorkloadFactory,
295 armnn::PoolingAlgorithm poolingType);
296
297LayerTestResult<float, 4> ConstantLinearActivationTest(
298 armnn::IWorkloadFactory& workloadFactory,
299 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
300
301LayerTestResult<float, 4> SimpleNormalizationAcrossTest(
302 armnn::IWorkloadFactory& workloadFactory,
303 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
304
305LayerTestResult<float, 4> SimpleNormalizationWithinTest(
306 armnn::IWorkloadFactory& workloadFactory,
307 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
308
309LayerTestResult<float,4> SimpleNormalizationAcrossNhwcTest(
310 armnn::IWorkloadFactory& workloadFactory,
311 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
312
313LayerTestResult<float, 2> SimpleSoftmaxTest(
314 armnn::IWorkloadFactory& workloadFactory,
315 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
316 float beta);
317
318LayerTestResult<uint8_t, 2> SimpleSoftmaxUint8Test(
319 armnn::IWorkloadFactory& workloadFactory,
320 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
321 float beta);
322
323LayerTestResult<float, 4> SimpleSigmoidTest(
324 armnn::IWorkloadFactory& workloadFactory,
325 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
326
327LayerTestResult<float, 4> SimpleReshapeFloat32Test(
328 armnn::IWorkloadFactory& workloadFactory,
329 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
330
331LayerTestResult<uint8_t, 4> SimpleReshapeUint8Test(
332 armnn::IWorkloadFactory& workloadFactory,
333 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
334
335LayerTestResult<float, 4> SimpleFloorTest(
336 armnn::IWorkloadFactory& workloadFactory,
337 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
338
339LayerTestResult<float, 1> Concatenation1dTest(
340 armnn::IWorkloadFactory& workloadFactory,
341 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
342
343LayerTestResult<float, 2> Concatenation2dDim0Test(
344 armnn::IWorkloadFactory& workloadFactory,
345 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
346
347LayerTestResult<float, 2> Concatenation2dDim1Test(
348 armnn::IWorkloadFactory& workloadFactory,
349 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
350
351LayerTestResult<float, 2> Concatenation2dDim0DiffInputDimsTest(
352 armnn::IWorkloadFactory& workloadFactory,
353 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
354
355LayerTestResult<float, 2> Concatenation2dDim1DiffInputDimsTest(
356 armnn::IWorkloadFactory& workloadFactory,
357 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
358
359LayerTestResult<float, 3> Concatenation3dDim0Test(
360 armnn::IWorkloadFactory& workloadFactory,
361 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
362
363LayerTestResult<float, 3> Concatenation3dDim1Test(
364 armnn::IWorkloadFactory& workloadFactory,
365 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
366
367LayerTestResult<float, 3> Concatenation3dDim2Test(
368 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000369 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
370 bool useSubtensor);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000371
372LayerTestResult<float, 3> Concatenation3dDim0DiffInputDimsTest(
373 armnn::IWorkloadFactory& workloadFactory,
374 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
375
376LayerTestResult<float, 3> Concatenation3dDim1DiffInputDimsTest(
377 armnn::IWorkloadFactory& workloadFactory,
378 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
379
380LayerTestResult<float, 3> Concatenation3dDim2DiffInputDimsTest(
381 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000382 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
383 bool useSubtensor);
384
385LayerTestResult<float, 4> Concatenation4dDim0Test(
386 armnn::IWorkloadFactory& workloadFactory,
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000387 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
388
narpra015cdda352018-11-19 15:30:27 +0000389LayerTestResult<float, 4> Concatenation4dDim1Test(
390 armnn::IWorkloadFactory& workloadFactory,
391 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
392
393LayerTestResult<float, 4> Concatenation4dDim2Test(
394 armnn::IWorkloadFactory& workloadFactory,
395 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
396
397LayerTestResult<float, 4> Concatenation4dDim3Test(
398 armnn::IWorkloadFactory& workloadFactory,
399 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
400 bool useSubtensor);
401
402LayerTestResult<float, 4> Concatenation4dDiffShapeDim0Test(
403 armnn::IWorkloadFactory& workloadFactory,
404 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
405
406LayerTestResult<float, 4> Concatenation4dDiffShapeDim1Test(
407 armnn::IWorkloadFactory& workloadFactory,
408 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
409
410LayerTestResult<float, 4> Concatenation4dDiffShapeDim2Test(
411 armnn::IWorkloadFactory& workloadFactory,
412 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
413
414LayerTestResult<float, 4> Concatenation4dDiffShapeDim3Test(
415 armnn::IWorkloadFactory& workloadFactory,
416 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
417 bool useSubtensor);
418
419LayerTestResult<uint8_t, 4> Concatenation4dDim0Uint8Test(
420 armnn::IWorkloadFactory& workloadFactory,
421 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
422
423LayerTestResult<uint8_t, 4> Concatenation4dDim1Uint8Test(
424 armnn::IWorkloadFactory& workloadFactory,
425 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
426
427LayerTestResult<uint8_t, 4> Concatenation4dDim2Uint8Test(
428 armnn::IWorkloadFactory& workloadFactory,
429 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
430
431LayerTestResult<uint8_t, 4> Concatenation4dDim3Uint8Test(
432 armnn::IWorkloadFactory& workloadFactory,
433 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
434 bool useSubtensor);
435
436LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim0Uint8Test(
437 armnn::IWorkloadFactory& workloadFactory,
438 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
439
440LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim1Uint8Test(
441 armnn::IWorkloadFactory& workloadFactory,
442 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
443
444LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim2Uint8Test(
445 armnn::IWorkloadFactory& workloadFactory,
446 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
447
448LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim3Uint8Test(
449 armnn::IWorkloadFactory& workloadFactory,
450 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
451 bool useSubtensor);
452
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000453LayerTestResult<uint8_t, 4> SimpleSigmoidUint8Test(
454 armnn::IWorkloadFactory& workloadFactory,
455 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
456
457LayerTestResult<float, 4> CompareConvolution2dTest(
458 armnn::IWorkloadFactory& workloadFactory,
459 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
telsoa014fcda012018-03-09 14:13:49 +0000460 armnn::IWorkloadFactory& refWorkloadFactory);
461
462template<typename T>
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000463LayerTestResult<T, 4> CompareDepthwiseConvolution2dTest(
464 armnn::IWorkloadFactory& workloadFactory,
465 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
466 armnn::IWorkloadFactory& refWorkloadFactory,
Matthew Bentham8800c002018-11-19 13:19:28 +0000467 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +0000468
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000469LayerTestResult<float, 4> CompareNormalizationTest(
470 armnn::IWorkloadFactory& workloadFactory,
471 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
472 armnn::IWorkloadFactory& refWorkloadFactory,
473 armnn::NormalizationAlgorithmChannel normChannel,
474 armnn::NormalizationAlgorithmMethod normMethod);
telsoa014fcda012018-03-09 14:13:49 +0000475
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000476LayerTestResult<float, 2> CompareSoftmaxTest(
477 armnn::IWorkloadFactory& workloadFactory,
478 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
telsoa014fcda012018-03-09 14:13:49 +0000479 armnn::IWorkloadFactory& refWorkloadFactory,
480 float beta);
481
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000482LayerTestResult<float, 2> FullyConnectedFloat32Test(
483 armnn::IWorkloadFactory& workloadFactory,
484 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
485 bool biasEnabled,
486 bool transposeWeights);
telsoa014fcda012018-03-09 14:13:49 +0000487
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000488std::vector<LayerTestResult<float, 3>> SplitterTest(
489 armnn::IWorkloadFactory& workloadFactory,
490 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
David Beck5cd01f32018-09-12 16:00:08 +0100491
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000492LayerTestResult<float, 3> CopyViaSplitterTest(
493 armnn::IWorkloadFactory& workloadFactory,
494 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000495
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000496LayerTestResult<float, 3> MergerTest(
497 armnn::IWorkloadFactory& workloadFactory,
498 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000499
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000500LayerTestResult<float, 4> AdditionTest(
501 armnn::IWorkloadFactory& workloadFactory,
502 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000503
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000504LayerTestResult<float, 4> AdditionBroadcast1ElementTest(
505 armnn::IWorkloadFactory& workloadFactory,
506 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000507
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000508LayerTestResult<float, 4> AdditionBroadcastTest(
509 armnn::IWorkloadFactory& workloadFactory,
510 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000511
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000512LayerTestResult<float, 4> CompareAdditionTest(
513 armnn::IWorkloadFactory& workloadFactory,
514 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
515 armnn::IWorkloadFactory& refWorkloadFactory);
telsoa014fcda012018-03-09 14:13:49 +0000516
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000517LayerTestResult<float, 4> SubtractionTest(
518 armnn::IWorkloadFactory& workloadFactory,
519 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000520
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000521LayerTestResult<float, 4> SubtractionBroadcast1ElementTest(
522 armnn::IWorkloadFactory& workloadFactory,
523 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000524
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000525LayerTestResult<float, 4> SubtractionBroadcastTest(
526 armnn::IWorkloadFactory& workloadFactory,
527 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000528
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000529LayerTestResult<float, 4> CompareActivationTest(
530 armnn::IWorkloadFactory& workloadFactory,
531 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
532 armnn::IWorkloadFactory& refWorkloadFactory,
533 armnn::ActivationFunction f,
534 unsigned int batchSize);
telsoa014fcda012018-03-09 14:13:49 +0000535
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000536LayerTestResult<float, 4> DivisionTest(
537 armnn::IWorkloadFactory& workloadFactory,
538 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000539
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000540LayerTestResult<float, 4> DivisionByZeroTest(
541 armnn::IWorkloadFactory& workloadFactory,
542 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +0100543
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000544LayerTestResult<float, 4> DivisionBroadcast1ElementTest(
545 armnn::IWorkloadFactory& workloadFactory,
546 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +0100547
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000548LayerTestResult<float, 4> DivisionBroadcast1DVectorTest(
549 armnn::IWorkloadFactory& workloadFactory,
550 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa01c577f2c2018-08-31 09:22:23 +0100551
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000552LayerTestResult<float, 4> MultiplicationTest(
553 armnn::IWorkloadFactory& workloadFactory,
554 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa01c577f2c2018-08-31 09:22:23 +0100555
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000556LayerTestResult<float, 4> MultiplicationBroadcast1ElementTest(
557 armnn::IWorkloadFactory& workloadFactory,
558 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
narpra011e4c31d2018-09-28 11:07:51 +0100559
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000560LayerTestResult<float, 4> MultiplicationBroadcast1DVectorTest(
561 armnn::IWorkloadFactory& workloadFactory,
562 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
narpra011e4c31d2018-09-28 11:07:51 +0100563
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000564LayerTestResult<float, 4> CompareMultiplicationTest(
565 armnn::IWorkloadFactory& workloadFactory,
566 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
567 armnn::IWorkloadFactory& refWorkloadFactory);
Matteo Martincigh28dcab62018-10-19 16:40:03 +0100568
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000569LayerTestResult<float, 4> BatchNormTest(
570 armnn::IWorkloadFactory& workloadFactory,
571 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000572
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000573LayerTestResult<float, 4> BatchNormNhwcTest(
574 armnn::IWorkloadFactory& workloadFactory,
575 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000576
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000577LayerTestResult<float, 4> CompareBatchNormTest(
578 armnn::IWorkloadFactory& workloadFactory,
579 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
580 armnn::IWorkloadFactory& refWorkloadFactory);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000581
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000582LayerTestResult<float, 4> BoundedReLuUpperAndLowerBoundTest(
583 armnn::IWorkloadFactory& workloadFactory,
584 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000585
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000586LayerTestResult<uint8_t, 4> BoundedReLuUint8UpperAndLowerBoundTest(
587 armnn::IWorkloadFactory& workloadFactor,
588 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManagery);
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +0000589
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000590LayerTestResult<float, 4> BoundedReLuUpperBoundOnlyTest(
591 armnn::IWorkloadFactory& workloadFactory,
592 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +0000593
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000594LayerTestResult<uint8_t, 4> BoundedReLuUint8UpperBoundOnlyTest(
595 armnn::IWorkloadFactory& workloadFactory,
596 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Éanna Ó Catháin262553e2018-11-14 11:26:23 +0000597
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000598LayerTestResult<float, 4> CompareBoundedReLuTest(
599 armnn::IWorkloadFactory& workloadFactory,
600 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
601 armnn::IWorkloadFactory& refWorkloadFactory,
602 float upperBound,
603 float lowerBound);
604
605// Tests that the output should be identical to the input when the output dimensions match the input ones.
606LayerTestResult<float, 4> ResizeBilinearNopTest(
607 armnn::IWorkloadFactory& workloadFactory,
608 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000609 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000610
611// Tests the behaviour of the resize bilinear operation when rescaling a 2x2 image into a 1x1 image.
612LayerTestResult<float, 4> SimpleResizeBilinearTest(
613 armnn::IWorkloadFactory& workloadFactory,
614 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000615 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000616
617// Tests the resize bilinear for minification of a square input matrix (also: input dimensions are a
618// multiple of output dimensions).
619LayerTestResult<float, 4> ResizeBilinearSqMinTest(
620 armnn::IWorkloadFactory& workloadFactory,
621 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000622 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000623
624// Tests the resize bilinear for minification (output dimensions smaller than input dimensions).
625LayerTestResult<float, 4> ResizeBilinearMinTest(
626 armnn::IWorkloadFactory& workloadFactory,
627 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000628 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000629
630// Tests the resize bilinear for magnification (output dimensions bigger than input dimensions).
631LayerTestResult<float, 4> ResizeBilinearMagTest(
632 armnn::IWorkloadFactory& workloadFactory,
633 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000634 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000635
636LayerTestResult<float, 4> BatchNormTest(
637 armnn::IWorkloadFactory& workloadFactory,
638 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
639
640LayerTestResult<float, 4> BatchNormNhwcTest(
641 armnn::IWorkloadFactory& workloadFactory,
642 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
643
644LayerTestResult<float, 2> FakeQuantizationTest(
645 armnn::IWorkloadFactory& workloadFactory,
646 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
647
648LayerTestResult<float, 4> L2Normalization1dTest(
649 armnn::IWorkloadFactory& workloadFactory,
650 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000651 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000652
653LayerTestResult<float, 4> L2Normalization2dTest(
654 armnn::IWorkloadFactory& workloadFactory,
655 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000656 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000657
658LayerTestResult<float, 4> L2Normalization3dTest(
659 armnn::IWorkloadFactory& workloadFactory,
660 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000661 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000662
663LayerTestResult<float, 4> L2Normalization4dTest(
664 armnn::IWorkloadFactory& workloadFactory,
665 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000666 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000667
668LayerTestResult<float, 4> ConstantTest(
669 armnn::IWorkloadFactory& workloadFactory,
670 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
671
672LayerTestResult<uint8_t, 4> ConstantTestUint8(
673 armnn::IWorkloadFactory& workloadFactory,
674 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
675
676LayerTestResult<uint8_t, 4> BoundedReLuUint8Test(
677 armnn::IWorkloadFactory& workloadFactory,
678 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
679 float upperBound);
680
681LayerTestResult<uint8_t, 4> BoundedReLuUint8Test(
682 armnn::IWorkloadFactory& workloadFactory,
683 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
684 float upperBound,
685 float lowerBound);
686
687LayerTestResult<uint8_t, 2> FullyConnectedUint8Test(
688 armnn::IWorkloadFactory& workloadFactory,
689 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
690 bool biasEnabled);
691
692std::vector<LayerTestResult<uint8_t, 3>> SplitterUint8Test(
693 armnn::IWorkloadFactory& workloadFactory,
694 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
695
696LayerTestResult<uint8_t, 3> CopyViaSplitterUint8Test(
697 armnn::IWorkloadFactory& workloadFactory,
698 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
699
700LayerTestResult<uint8_t, 3> MergerUint8Test(
701 armnn::IWorkloadFactory& workloadFactory,
702 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
703
704LayerTestResult<uint8_t, 4> AdditionUint8Test(
705 armnn::IWorkloadFactory& workloadFactory,
706 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
707
708LayerTestResult<uint8_t, 4> AdditionBroadcast1ElementUint8Test(
709 armnn::IWorkloadFactory& workloadFactory,
710 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
711
712LayerTestResult<uint8_t, 4> AdditionBroadcastUint8Test(
713 armnn::IWorkloadFactory& workloadFactory,
714 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
715
716LayerTestResult<uint8_t, 4> SubtractionUint8Test(
717 armnn::IWorkloadFactory& workloadFactory,
718 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
719
720LayerTestResult<uint8_t, 4> SubtractionBroadcast1ElementUint8Test(
721 armnn::IWorkloadFactory& workloadFactory,
722 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
723
724LayerTestResult<uint8_t, 4> SubtractionBroadcastUint8Test(
725 armnn::IWorkloadFactory& workloadFactory,
726 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
727
728LayerTestResult<uint8_t, 4> CompareActivationUint8Test(
729 armnn::IWorkloadFactory& workloadFactory,
730 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
731 armnn::IWorkloadFactory& refWorkloadFactory,
732 armnn::ActivationFunction f);
733
734LayerTestResult<uint8_t, 2> CompareSoftmaxUint8Test(
735 armnn::IWorkloadFactory& workloadFactory,
736 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
737 armnn::IWorkloadFactory& refWorkloadFactory,
738 float beta);
739
740LayerTestResult<uint8_t, 4> MultiplicationUint8Test(
741 armnn::IWorkloadFactory& workloadFactory,
742 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
743
744LayerTestResult<uint8_t, 4> MultiplicationBroadcast1ElementUint8Test(
745 armnn::IWorkloadFactory& workloadFactory,
746 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
747
748LayerTestResult<uint8_t, 4> MultiplicationBroadcast1DVectorUint8Test(
749 armnn::IWorkloadFactory& workloadFactory,
750 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
751
752LayerTestResult<uint8_t, 4> DivisionUint8Test(
753 armnn::IWorkloadFactory& workloadFactory,
754 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
755
756LayerTestResult<uint8_t, 4> DivisionBroadcast1ElementUint8Test(
757 armnn::IWorkloadFactory& workloadFactory,
758 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
759
760LayerTestResult<uint8_t, 4> DivisionBroadcast1DVectorUint8Test(
761 armnn::IWorkloadFactory& workloadFactory,
762 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
763
764LayerTestResult<uint8_t, 4> SimpleConvolution2d3x5Uint8Test(
765 armnn::IWorkloadFactory& workloadFactory,
766 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
767 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000768 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000769
770LayerTestResult<uint8_t, 4> SimpleConvolution2d3x3Uint8Test(
771 armnn::IWorkloadFactory& workloadFactory,
772 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
773 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000774 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000775
776LayerTestResult<uint8_t, 4> DepthwiseConvolution2dUint8Test(
777 armnn::IWorkloadFactory& workloadFactory,
778 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
779 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000780 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000781
782LayerTestResult<uint8_t, 4> DepthwiseConvolution2dDepthMul1Uint8Test(
783 armnn::IWorkloadFactory& workloadFactory,
784 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
785 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000786 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000787
788LayerTestResult<uint8_t, 4> ConstantLinearActivationUint8Test(
789 armnn::IWorkloadFactory& workloadFactory,
790 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
791
792LayerTestResult<uint8_t, 4> ResizeBilinearNopUint8Test(
793 armnn::IWorkloadFactory& workloadFactory,
794 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
795
796LayerTestResult<uint8_t, 4> SimpleResizeBilinearUint8Test(
797 armnn::IWorkloadFactory& workloadFactory,
798 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
799
800LayerTestResult<uint8_t, 4> ResizeBilinearSqMinUint8Test(
801 armnn::IWorkloadFactory& workloadFactory,
802 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
803
804LayerTestResult<uint8_t, 4> ResizeBilinearMinUint8Test(
805 armnn::IWorkloadFactory& workloadFactory,
806 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
807
808LayerTestResult<uint8_t, 4> ResizeBilinearMagUint8Test(
809 armnn::IWorkloadFactory& workloadFactory,
810 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
811
812LayerTestResult<uint8_t, 4> BatchNormUint8Test(
813 armnn::IWorkloadFactory& workloadFactory,
814 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
815
816LayerTestResult<uint8_t, 4> BatchNormUint8NhwcTest(
817 armnn::IWorkloadFactory& workloadFactory,
818 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
819
820LayerTestResult<uint8_t, 4> ConstantUint8Test(
821 armnn::IWorkloadFactory& workloadFactory,
822 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
823
824LayerTestResult<uint8_t, 1> Concatenation1dUint8Test(
825 armnn::IWorkloadFactory& workloadFactory,
826 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
827
828LayerTestResult<uint8_t, 2> Concatenation2dDim0Uint8Test(
829 armnn::IWorkloadFactory& workloadFactory,
830 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
831
832LayerTestResult<uint8_t, 2> Concatenation2dDim1Uint8Test(
833 armnn::IWorkloadFactory& workloadFactory,
834 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
835
836LayerTestResult<uint8_t, 2> Concatenation2dDim0DiffInputDimsUint8Test(
837 armnn::IWorkloadFactory& workloadFactory,
838 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
839
840LayerTestResult<uint8_t, 2> Concatenation2dDim1DiffInputDimsUint8Test(
841 armnn::IWorkloadFactory& workloadFactory,
842 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
843
844LayerTestResult<uint8_t, 3> Concatenation3dDim0Uint8Test(
845 armnn::IWorkloadFactory& workloadFactory,
846 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
847
848LayerTestResult<uint8_t, 3> Concatenation3dDim1Uint8Test(
849 armnn::IWorkloadFactory& workloadFactory,
850 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
851
852LayerTestResult<uint8_t, 3> Concatenation3dDim2Uint8Test(
853 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000854 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
855 bool useSubtensor);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000856
857LayerTestResult<uint8_t, 3> Concatenation3dDim0DiffInputDimsUint8Test(
858 armnn::IWorkloadFactory& workloadFactory,
859 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
860
861LayerTestResult<uint8_t, 3> Concatenation3dDim1DiffInputDimsUint8Test(
862 armnn::IWorkloadFactory& workloadFactory,
863 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
864
865LayerTestResult<uint8_t, 3> Concatenation3dDim2DiffInputDimsUint8Test(
866 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000867 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
868 bool useSubtensor);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000869
870LayerTestResult<float, 2> FullyConnectedLargeTest(
871 armnn::IWorkloadFactory& workloadFactory,
872 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
873 bool transposeWeights);
874
875LayerTestResult<float, 4> SimplePermuteFloat32Test(
876 armnn::IWorkloadFactory& workloadFactory,
877 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
878
879LayerTestResult<uint8_t, 4> SimplePermuteUint8Test(
880 armnn::IWorkloadFactory& workloadFactory,
881 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
882
883LayerTestResult<uint8_t, 2> PadUint82dTest(
884 armnn::IWorkloadFactory& workloadFactory,
885 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
886
887LayerTestResult<uint8_t, 3> PadUint83dTest(
888 armnn::IWorkloadFactory& workloadFactory,
889 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
890
891LayerTestResult<uint8_t, 4> PadUint84dTest(
892 armnn::IWorkloadFactory& workloadFactory,
893 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
894
895LayerTestResult<float, 2> PadFloat322dTest(
896 armnn::IWorkloadFactory& workloadFactory,
897 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
898
899LayerTestResult<float, 3> PadFloat323dTest(
900 armnn::IWorkloadFactory& workloadFactory,
901 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
902
903LayerTestResult<float, 4> PadFloat324dTest(
904 armnn::IWorkloadFactory& workloadFactory,
905 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
906
907LayerTestResult<float, 4> PermuteFloat32ValueSet1Test(
908 armnn::IWorkloadFactory& workloadFactory,
909 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
910
911LayerTestResult<float, 4> PermuteFloat32ValueSet2Test(
912 armnn::IWorkloadFactory& workloadFactory,
913 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
914
915LayerTestResult<float, 4> PermuteFloat32ValueSet3Test(
916 armnn::IWorkloadFactory& workloadFactory,
917 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
918
919LayerTestResult<float, 2> LstmLayerFloat32WithCifgWithPeepholeNoProjectionTest(
920 armnn::IWorkloadFactory& workloadFactory,
921 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
922
923LayerTestResult<float, 2> LstmLayerFloat32NoCifgNoPeepholeNoProjectionTest(
924 armnn::IWorkloadFactory& workloadFactory,
925 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
926
927LayerTestResult<float, 2> LstmLayerFloat32NoCifgWithPeepholeWithProjectionTest(
928 armnn::IWorkloadFactory& workloadFactory,
929 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
930
931LayerTestResult<float, 4> SimpleConvertFp16ToFp32Test(
932 armnn::IWorkloadFactory& workloadFactory,
933 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
934
935LayerTestResult<armnn::Half, 4> SimpleConvertFp32ToFp16Test(
936 armnn::IWorkloadFactory& workloadFactory,
937 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
938
Éanna Ó Catháinde705582018-12-03 13:04:22 +0000939LayerTestResult<float, 4> MaximumSimpleTest(
940 armnn::IWorkloadFactory& workloadFactory,
941 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
942
943LayerTestResult<float, 4> MaximumBroadcast1ElementTest(
944 armnn::IWorkloadFactory& workloadFactory,
945 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
946
947LayerTestResult<float, 4> MaximumBroadcast1DVectorTest(
948 armnn::IWorkloadFactory& workloadFactory,
949 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
950
951LayerTestResult<uint8_t , 4> MaximumUint8Test(
952 armnn::IWorkloadFactory& workloadFactory,
953 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
954
955LayerTestResult<uint8_t, 4> MaximumBroadcast1ElementUint8Test(
956 armnn::IWorkloadFactory& workloadFactory,
957 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
958
959LayerTestResult<uint8_t, 4> MaximumBroadcast1DVectorUint8Test(
960 armnn::IWorkloadFactory& workloadFactory,
961 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
962
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000963LayerTestResult<uint8_t, 1> MeanUint8SimpleTest(
964 armnn::IWorkloadFactory& workloadFactory,
965 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
966
967LayerTestResult<uint8_t, 3> MeanUint8SimpleAxisTest(
968 armnn::IWorkloadFactory& workloadFactory,
969 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
970
971LayerTestResult<uint8_t, 4> MeanUint8KeepDimsTest(
972 armnn::IWorkloadFactory& workloadFactory,
973 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
974
975LayerTestResult<uint8_t, 4> MeanUint8MultipleDimsTest(
976 armnn::IWorkloadFactory& workloadFactory,
977 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
978
979LayerTestResult<uint8_t, 1> MeanVtsUint8Test(
980 armnn::IWorkloadFactory& workloadFactory,
981 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
982
983LayerTestResult<float, 1> MeanFloatSimpleTest(
984 armnn::IWorkloadFactory& workloadFactory,
985 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
986
987LayerTestResult<float, 3> MeanFloatSimpleAxisTest(
988 armnn::IWorkloadFactory& workloadFactory,
989 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
990
991LayerTestResult<float, 4> MeanFloatKeepDimsTest(
992 armnn::IWorkloadFactory& workloadFactory,
993 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
994
995LayerTestResult<float, 4> MeanFloatMultipleDimsTest(
996 armnn::IWorkloadFactory& workloadFactory,
997 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
998
999LayerTestResult<float, 1> MeanVtsFloat1Test(
1000 armnn::IWorkloadFactory& workloadFactory,
1001 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1002
1003LayerTestResult<float, 3> MeanVtsFloat2Test(
1004 armnn::IWorkloadFactory& workloadFactory,
1005 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1006
1007LayerTestResult<float, 3> MeanVtsFloat3Test(
1008 armnn::IWorkloadFactory& workloadFactory,
1009 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1010
Éanna Ó Catháin20e58802018-12-04 10:29:06 +00001011LayerTestResult<float, 4> MinimumBroadcast1ElementTest1(
1012 armnn::IWorkloadFactory& workloadFactory,
1013 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1014
1015LayerTestResult<float, 4> MinimumBroadcast1ElementTest2(
1016 armnn::IWorkloadFactory& workloadFactory,
1017 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1018
1019LayerTestResult<uint8_t, 4> MinimumBroadcast1DVectorUint8Test(
1020 armnn::IWorkloadFactory & workloadFactory,
1021 const armnn::IBackendInternal::IMemoryManagerSharedPtr & memoryManager);
1022
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001023LayerTestResult<float, 4> AdditionAfterMaxPoolTest(
1024 armnn::IWorkloadFactory& workloadFactory,
1025 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1026
1027LayerTestResult<float, 4> SpaceToBatchNdSimpleFloat32Test(
1028 armnn::IWorkloadFactory& workloadFactory,
1029 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1030
1031LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsFloat32Test(
1032 armnn::IWorkloadFactory& workloadFactory,
1033 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1034
1035LayerTestResult<float, 4> SpaceToBatchNdMultiBlockFloat32Test(
1036 armnn::IWorkloadFactory& workloadFactory,
1037 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1038
1039LayerTestResult<float, 4> SpaceToBatchNdPaddingFloat32Test(
1040 armnn::IWorkloadFactory& workloadFactory,
1041 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1042
1043LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleUint8Test(
1044 armnn::IWorkloadFactory& workloadFactory,
1045 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1046
1047LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsUint8Test(
1048 armnn::IWorkloadFactory& workloadFactory,
1049 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1050
1051LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockUint8Test(
1052 armnn::IWorkloadFactory& workloadFactory,
1053 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1054
1055LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingUint8Test(
1056 armnn::IWorkloadFactory& workloadFactory,
1057 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1058
1059LayerTestResult<float, 4> SpaceToBatchNdSimpleNHWCFloat32Test(
1060 armnn::IWorkloadFactory& workloadFactory,
1061 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1062
1063LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsNHWCFloat32Test(
1064 armnn::IWorkloadFactory& workloadFactory,
1065 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1066
1067LayerTestResult<float, 4> SpaceToBatchNdMultiBlockNHWCFloat32Test(
1068 armnn::IWorkloadFactory& workloadFactory,
1069 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1070
1071LayerTestResult<float, 4> SpaceToBatchNdPaddingNHWCFloat32Test(
1072 armnn::IWorkloadFactory& workloadFactory,
1073 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1074
1075LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleNHWCUint8Test(
1076 armnn::IWorkloadFactory& workloadFactory,
1077 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1078
1079LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsNHWCUint8Test(
1080 armnn::IWorkloadFactory& workloadFactory,
1081 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1082
1083LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockNHWCUint8Test(
1084 armnn::IWorkloadFactory& workloadFactory,
1085 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1086
1087LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingNHWCUint8Test(
1088 armnn::IWorkloadFactory& workloadFactory,
1089 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1090
1091LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test1(
1092 armnn::IWorkloadFactory& workloadFactory,
1093 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1094
1095LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test2(
1096 armnn::IWorkloadFactory& workloadFactory,
1097 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1098
1099LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test3(
1100 armnn::IWorkloadFactory& workloadFactory,
1101 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1102
1103LayerTestResult<float, 4> BatchToSpaceNdNchwFloat32Test1(
1104 armnn::IWorkloadFactory &workloadFactory,
1105 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1106
Mike Kelly831faed2018-11-28 11:52:08 +00001107LayerTestResult<float, 4> BatchToSpaceNdNchwFloat32Test2(
1108 armnn::IWorkloadFactory &workloadFactory,
1109 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1110
1111LayerTestResult<float, 4> BatchToSpaceNdNchwFloat32Test3(
1112 armnn::IWorkloadFactory &workloadFactory,
1113 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1114
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001115LayerTestResult<uint8_t, 4> BatchToSpaceNdNhwcUintTest1(
1116 armnn::IWorkloadFactory &workloadFactory,
1117 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001118
Mike Kelly831faed2018-11-28 11:52:08 +00001119LayerTestResult<uint8_t, 4> BatchToSpaceNdNhwcUintTest2(
1120 armnn::IWorkloadFactory &workloadFactory,
1121 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1122
1123LayerTestResult<uint8_t, 4> BatchToSpaceNdNhwcUintTest3(
1124 armnn::IWorkloadFactory &workloadFactory,
1125 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1126
1127LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest1(
1128 armnn::IWorkloadFactory &workloadFactory,
1129 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1130
1131LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest2(
1132 armnn::IWorkloadFactory &workloadFactory,
1133 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1134
1135LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest3(
1136 armnn::IWorkloadFactory &workloadFactory,
1137 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1138
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001139LayerTestResult<float, 4> StridedSlice4DFloat32Test(
1140 armnn::IWorkloadFactory& workloadFactory,
1141 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowongcfdcadf2018-12-06 11:54:33 +00001142
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001143LayerTestResult<float, 4> StridedSlice4DReverseFloat32Test(
1144 armnn::IWorkloadFactory& workloadFactory,
1145 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1146
1147LayerTestResult<float, 4> StridedSliceSimpleStrideFloat32Test(
1148 armnn::IWorkloadFactory& workloadFactory,
1149 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1150
1151LayerTestResult<float, 4> StridedSliceSimpleRangeMaskFloat32Test(
1152 armnn::IWorkloadFactory& workloadFactory,
1153 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1154
1155LayerTestResult<float, 2> StridedSliceShrinkAxisMaskFloat32Test(
1156 armnn::IWorkloadFactory& workloadFactory,
1157 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1158
1159LayerTestResult<float, 3> StridedSlice3DFloat32Test(
1160 armnn::IWorkloadFactory& workloadFactory,
1161 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1162
1163LayerTestResult<float, 3> StridedSlice3DReverseFloat32Test(
1164 armnn::IWorkloadFactory& workloadFactory,
1165 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1166
1167LayerTestResult<float, 2> StridedSlice2DFloat32Test(
1168 armnn::IWorkloadFactory& workloadFactory,
1169 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1170
1171LayerTestResult<float, 2> StridedSlice2DReverseFloat32Test(
1172 armnn::IWorkloadFactory& workloadFactory,
1173 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1174
1175LayerTestResult<uint8_t, 4> StridedSlice4DUint8Test(
1176 armnn::IWorkloadFactory& workloadFactory,
1177 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1178
1179LayerTestResult<uint8_t, 4> StridedSlice4DReverseUint8Test(
1180 armnn::IWorkloadFactory& workloadFactory,
1181 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1182
1183LayerTestResult<uint8_t, 4> StridedSliceSimpleStrideUint8Test(
1184 armnn::IWorkloadFactory& workloadFactory,
1185 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1186
1187LayerTestResult<uint8_t, 4> StridedSliceSimpleRangeMaskUint8Test(
1188 armnn::IWorkloadFactory& workloadFactory,
1189 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1190
1191LayerTestResult<uint8_t, 2> StridedSliceShrinkAxisMaskUint8Test(
1192 armnn::IWorkloadFactory& workloadFactory,
1193 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1194
1195LayerTestResult<uint8_t, 3> StridedSlice3DUint8Test(
1196 armnn::IWorkloadFactory& workloadFactory,
1197 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1198
1199LayerTestResult<uint8_t, 3> StridedSlice3DReverseUint8Test(
1200 armnn::IWorkloadFactory& workloadFactory,
1201 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1202
1203LayerTestResult<uint8_t, 2> StridedSlice2DUint8Test(
1204 armnn::IWorkloadFactory& workloadFactory,
1205 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1206
1207LayerTestResult<uint8_t, 2> StridedSlice2DReverseUint8Test(
1208 armnn::IWorkloadFactory& workloadFactory,
1209 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowongcfdcadf2018-12-06 11:54:33 +00001210
1211LayerTestResult<float, 4> Debug4DFloat32Test(
1212 armnn::IWorkloadFactory& workloadFactory,
1213 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1214
1215LayerTestResult<float, 3> Debug3DFloat32Test(
1216 armnn::IWorkloadFactory& workloadFactory,
1217 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1218
1219LayerTestResult<float, 2> Debug2DFloat32Test(
1220 armnn::IWorkloadFactory& workloadFactory,
1221 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1222
1223LayerTestResult<float, 1> Debug1DFloat32Test(
1224 armnn::IWorkloadFactory& workloadFactory,
1225 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1226
1227LayerTestResult<uint8_t, 4> Debug4DUint8Test(
1228 armnn::IWorkloadFactory& workloadFactory,
1229 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1230
1231LayerTestResult<uint8_t, 3> Debug3DUint8Test(
1232 armnn::IWorkloadFactory& workloadFactory,
1233 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1234
1235LayerTestResult<uint8_t, 2> Debug2DUint8Test(
1236 armnn::IWorkloadFactory& workloadFactory,
1237 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1238
1239LayerTestResult<uint8_t, 1> Debug1DUint8Test(
1240 armnn::IWorkloadFactory& workloadFactory,
1241 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);