blob: 98c0806ddf0a2dae6d81bb4cffcd0e0891496950 [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
Mike Kelly7332ed82018-12-20 17:03:06 +000069LayerTestResult<float, 4> SimpleConvolution2d3x3Stride2x2Test(
70 armnn::IWorkloadFactory& workloadFactory,
71 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
72 bool biasEnabled,
73 const armnn::DataLayout layout);
74
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000075LayerTestResult<float, 4> SimpleConvolution2d3x3NhwcTest(
76 armnn::IWorkloadFactory& workloadFactory,
77 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
78 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +000079
80LayerTestResult<float, 4>
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000081Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest(
82 armnn::IWorkloadFactory& workloadFactory,
83 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +000084 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +000085
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000086LayerTestResult<float, 4> Convolution2dAsymmetricPaddingTest(
87 armnn::IWorkloadFactory& workloadFactory,
88 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +000089 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +000090
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000091LayerTestResult<float, 4> Convolution1dTest(
92 armnn::IWorkloadFactory& workloadFactory,
93 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
94 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +000095
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000096LayerTestResult<uint8_t, 4> Convolution1dUint8Test(
97 armnn::IWorkloadFactory& workloadFactory,
98 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
99 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +0000100
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000101LayerTestResult<float, 4> DepthwiseConvolution2dTest(
102 armnn::IWorkloadFactory& workloadFactory,
103 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
104 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000105 const armnn::DataLayout layout);
Nikhil Rajcec6b652018-10-12 13:51:57 +0100106
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000107LayerTestResult<float, 4> DepthwiseConvolution2dDepthNhwcTest(
108 armnn::IWorkloadFactory& workloadFactory,
109 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
110 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +0000111
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000112LayerTestResult<float, 4> DepthwiseConvolution2dDepthMul1Test(
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);
surmeh013537c2c2018-05-18 16:31:43 +0100117
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000118LayerTestResult<float, 4> DepthwiseConvolution2dAsymmetricTest(
119 armnn::IWorkloadFactory& workloadFactory,
120 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
121 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000122 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +0000123
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000124LayerTestResult<float, 4> SimpleMaxPooling2dSize2x2Stride2x2Test(
125 armnn::IWorkloadFactory& workloadFactory,
126 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
127 bool forceNoPadding);
James Conroy45a9b772018-10-31 11:47:53 +0000128
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000129LayerTestResult<uint8_t, 4> SimpleMaxPooling2dSize2x2Stride2x2Uint8Test(
130 armnn::IWorkloadFactory& workloadFactory,
131 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
132 bool forceNoPadding);
James Conroy45a9b772018-10-31 11:47:53 +0000133
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000134LayerTestResult<float, 4> SimpleMaxPooling2dSize3x3Stride2x4Test(
135 armnn::IWorkloadFactory& workloadFactory,
136 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
137 bool forceNoPadding);
138
139LayerTestResult<uint8_t, 4> SimpleMaxPooling2dSize3x3Stride2x4Uint8Test(
140 armnn::IWorkloadFactory& workloadFactory,
141 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
142 bool forceNoPadding );
143
144LayerTestResult<float, 4> IgnorePaddingSimpleMaxPooling2dTest(
145 armnn::IWorkloadFactory& workloadFactory,
146 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
147
148LayerTestResult<uint8_t, 4> IgnorePaddingSimpleMaxPooling2dUint8Test(
149 armnn::IWorkloadFactory& workloadFactory,
150 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
151
152LayerTestResult<float, 4> IgnorePaddingMaxPooling2dSize3Test(
153 armnn::IWorkloadFactory& workloadFactory,
154 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
155
156LayerTestResult<uint8_t, 4> IgnorePaddingMaxPooling2dSize3Uint8Test(
157 armnn::IWorkloadFactory& workloadFactory,
158 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
159
160LayerTestResult<float, 4> SimpleMaxPooling2dTest(
161 armnn::IWorkloadFactory& workloadFactory,
162 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000163 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000164
165LayerTestResult<uint8_t, 4> SimpleMaxPooling2dUint8Test(
166 armnn::IWorkloadFactory& workloadFactory,
167 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000168 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000169
170LayerTestResult<float, 4> SimpleAveragePooling2dTest(
171 armnn::IWorkloadFactory& workloadFactory,
172 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000173 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000174
175LayerTestResult<uint8_t, 4> SimpleAveragePooling2dUint8Test(
176 armnn::IWorkloadFactory& workloadFactory,
177 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000178 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000179
180LayerTestResult<float, 4> IgnorePaddingAveragePooling2dSize3x2Stride2x2Test(
181 armnn::IWorkloadFactory& workloadFactory,
182 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
183 bool forceNoPadding);
184
185LayerTestResult<float, 4> IgnorePaddingSimpleAveragePooling2dTest(
186 armnn::IWorkloadFactory& workloadFactory,
187 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
188
189LayerTestResult<uint8_t, 4> IgnorePaddingSimpleAveragePooling2dUint8Test(
190 armnn::IWorkloadFactory& workloadFactory,
191 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
192
193LayerTestResult<float, 4> IgnorePaddingSimpleAveragePooling2dNoPaddingTest(
194 armnn::IWorkloadFactory& workloadFactory,
195 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
196
telsoa014fcda012018-03-09 14:13:49 +0000197LayerTestResult<uint8_t, 4> IgnorePaddingSimpleAveragePooling2dNoPaddingUint8Test(
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000198 armnn::IWorkloadFactory& workloadFactory,
199 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000200
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000201LayerTestResult<float, 4> IgnorePaddingAveragePooling2dSize3Test(
202 armnn::IWorkloadFactory& workloadFactory,
203 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000204
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000205LayerTestResult<uint8_t, 4> IgnorePaddingAveragePooling2dSize3Uint8Test(
206 armnn::IWorkloadFactory& workloadFactory,
207 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000208
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000209LayerTestResult<float, 4> SimpleL2Pooling2dTest(
210 armnn::IWorkloadFactory& workloadFactory,
211 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000212 const armnn::DataLayout dataLayout);
telsoa014fcda012018-03-09 14:13:49 +0000213
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000214LayerTestResult<uint8_t, 4> SimpleL2Pooling2dUint8Test(
215 armnn::IWorkloadFactory& workloadFactory,
216 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000217 const armnn::DataLayout dataLayout);
telsoa014fcda012018-03-09 14:13:49 +0000218
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000219LayerTestResult<float, 4> L2Pooling2dSize3Stride1Test(
220 armnn::IWorkloadFactory& workloadFactory,
221 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000222
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000223LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride1Uint8Test(
224 armnn::IWorkloadFactory& workloadFactory,
225 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000226
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000227LayerTestResult<float, 4> L2Pooling2dSize3Stride3Test(
228 armnn::IWorkloadFactory& workloadFactory,
229 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000230
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000231LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride3Uint8Test(
232 armnn::IWorkloadFactory& workloadFactory,
233 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000234
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000235LayerTestResult<float, 4> L2Pooling2dSize3Stride4Test(
236 armnn::IWorkloadFactory& workloadFactory,
237 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000238
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000239LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride4Uint8Test(
240 armnn::IWorkloadFactory& workloadFactory,
241 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000242
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000243LayerTestResult<float, 4> L2Pooling2dSize7Test(
244 armnn::IWorkloadFactory& workloadFactory,
245 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000246
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000247LayerTestResult<uint8_t, 4> L2Pooling2dSize7Uint8Test(
248 armnn::IWorkloadFactory& workloadFactory,
249 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000250
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000251LayerTestResult<float, 4> L2Pooling2dSize9Test(
252 armnn::IWorkloadFactory& workloadFactory,
253 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000254
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000255LayerTestResult<uint8_t, 4> L2Pooling2dSize9Uint8Test(
256 armnn::IWorkloadFactory& workloadFactory,
257 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
258
259LayerTestResult<float, 4> LargeTensorsAveragePooling2dTest(
260 armnn::IWorkloadFactory& workloadFactory,
261 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
262
263LayerTestResult<uint8_t, 4> LargeTensorsAveragePooling2dUint8Test(
264 armnn::IWorkloadFactory& workloadFactory,
265 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
266
267LayerTestResult<float, 4> IgnorePaddingSimpleL2Pooling2dTest(
268 armnn::IWorkloadFactory& workloadFactory,
269 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
270
271LayerTestResult<uint8_t, 4> IgnorePaddingSimpleL2Pooling2dUint8Test(
272 armnn::IWorkloadFactory& workloadFactory,
273 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
274
275LayerTestResult<float, 4> IgnorePaddingL2Pooling2dSize3Test(
276 armnn::IWorkloadFactory& workloadFactory,
277 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
278
279LayerTestResult<uint8_t, 4> IgnorePaddingL2Pooling2dSize3Uint8Test(
280 armnn::IWorkloadFactory& workloadFactory,
281 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
282
283LayerTestResult<float, 4> AsymmetricNonSquarePooling2dTest(
284 armnn::IWorkloadFactory& workloadFactory,
285 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
286
287LayerTestResult<uint8_t, 4> AsymmetricNonSquarePooling2dUint8Test(
288 armnn::IWorkloadFactory& workloadFactory,
289 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
290
291LayerTestResult<float, 4> ComparePooling2dTest(
292 armnn::IWorkloadFactory& workloadFactory,
293 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
294 armnn::IWorkloadFactory& refWorkloadFactory,
295 armnn::PoolingAlgorithm poolingType);
296
297LayerTestResult<uint8_t, 4> ComparePooling2dUint8Test(
298 armnn::IWorkloadFactory& workloadFactory,
299 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
300 armnn::IWorkloadFactory& refWorkloadFactory,
301 armnn::PoolingAlgorithm poolingType);
302
303LayerTestResult<float, 4> ConstantLinearActivationTest(
304 armnn::IWorkloadFactory& workloadFactory,
305 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
306
307LayerTestResult<float, 4> SimpleNormalizationAcrossTest(
308 armnn::IWorkloadFactory& workloadFactory,
309 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
310
311LayerTestResult<float, 4> SimpleNormalizationWithinTest(
312 armnn::IWorkloadFactory& workloadFactory,
313 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
314
315LayerTestResult<float,4> SimpleNormalizationAcrossNhwcTest(
316 armnn::IWorkloadFactory& workloadFactory,
317 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
318
319LayerTestResult<float, 2> SimpleSoftmaxTest(
320 armnn::IWorkloadFactory& workloadFactory,
321 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
322 float beta);
323
324LayerTestResult<uint8_t, 2> SimpleSoftmaxUint8Test(
325 armnn::IWorkloadFactory& workloadFactory,
326 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
327 float beta);
328
329LayerTestResult<float, 4> SimpleSigmoidTest(
330 armnn::IWorkloadFactory& workloadFactory,
331 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
332
333LayerTestResult<float, 4> SimpleReshapeFloat32Test(
334 armnn::IWorkloadFactory& workloadFactory,
335 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
336
337LayerTestResult<uint8_t, 4> SimpleReshapeUint8Test(
338 armnn::IWorkloadFactory& workloadFactory,
339 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
340
341LayerTestResult<float, 4> SimpleFloorTest(
342 armnn::IWorkloadFactory& workloadFactory,
343 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
344
345LayerTestResult<float, 1> Concatenation1dTest(
346 armnn::IWorkloadFactory& workloadFactory,
347 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
348
349LayerTestResult<float, 2> Concatenation2dDim0Test(
350 armnn::IWorkloadFactory& workloadFactory,
351 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
352
353LayerTestResult<float, 2> Concatenation2dDim1Test(
354 armnn::IWorkloadFactory& workloadFactory,
355 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
356
357LayerTestResult<float, 2> Concatenation2dDim0DiffInputDimsTest(
358 armnn::IWorkloadFactory& workloadFactory,
359 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
360
361LayerTestResult<float, 2> Concatenation2dDim1DiffInputDimsTest(
362 armnn::IWorkloadFactory& workloadFactory,
363 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
364
365LayerTestResult<float, 3> Concatenation3dDim0Test(
366 armnn::IWorkloadFactory& workloadFactory,
367 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
368
369LayerTestResult<float, 3> Concatenation3dDim1Test(
370 armnn::IWorkloadFactory& workloadFactory,
371 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
372
373LayerTestResult<float, 3> Concatenation3dDim2Test(
374 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000375 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
376 bool useSubtensor);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000377
378LayerTestResult<float, 3> Concatenation3dDim0DiffInputDimsTest(
379 armnn::IWorkloadFactory& workloadFactory,
380 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
381
382LayerTestResult<float, 3> Concatenation3dDim1DiffInputDimsTest(
383 armnn::IWorkloadFactory& workloadFactory,
384 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
385
386LayerTestResult<float, 3> Concatenation3dDim2DiffInputDimsTest(
387 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000388 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
389 bool useSubtensor);
390
391LayerTestResult<float, 4> Concatenation4dDim0Test(
392 armnn::IWorkloadFactory& workloadFactory,
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000393 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
394
narpra015cdda352018-11-19 15:30:27 +0000395LayerTestResult<float, 4> Concatenation4dDim1Test(
396 armnn::IWorkloadFactory& workloadFactory,
397 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
398
399LayerTestResult<float, 4> Concatenation4dDim2Test(
400 armnn::IWorkloadFactory& workloadFactory,
401 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
402
403LayerTestResult<float, 4> Concatenation4dDim3Test(
404 armnn::IWorkloadFactory& workloadFactory,
405 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
406 bool useSubtensor);
407
408LayerTestResult<float, 4> Concatenation4dDiffShapeDim0Test(
409 armnn::IWorkloadFactory& workloadFactory,
410 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
411
412LayerTestResult<float, 4> Concatenation4dDiffShapeDim1Test(
413 armnn::IWorkloadFactory& workloadFactory,
414 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
415
416LayerTestResult<float, 4> Concatenation4dDiffShapeDim2Test(
417 armnn::IWorkloadFactory& workloadFactory,
418 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
419
420LayerTestResult<float, 4> Concatenation4dDiffShapeDim3Test(
421 armnn::IWorkloadFactory& workloadFactory,
422 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
423 bool useSubtensor);
424
425LayerTestResult<uint8_t, 4> Concatenation4dDim0Uint8Test(
426 armnn::IWorkloadFactory& workloadFactory,
427 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
428
429LayerTestResult<uint8_t, 4> Concatenation4dDim1Uint8Test(
430 armnn::IWorkloadFactory& workloadFactory,
431 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
432
433LayerTestResult<uint8_t, 4> Concatenation4dDim2Uint8Test(
434 armnn::IWorkloadFactory& workloadFactory,
435 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
436
437LayerTestResult<uint8_t, 4> Concatenation4dDim3Uint8Test(
438 armnn::IWorkloadFactory& workloadFactory,
439 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
440 bool useSubtensor);
441
442LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim0Uint8Test(
443 armnn::IWorkloadFactory& workloadFactory,
444 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
445
446LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim1Uint8Test(
447 armnn::IWorkloadFactory& workloadFactory,
448 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
449
450LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim2Uint8Test(
451 armnn::IWorkloadFactory& workloadFactory,
452 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
453
454LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim3Uint8Test(
455 armnn::IWorkloadFactory& workloadFactory,
456 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
457 bool useSubtensor);
458
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000459LayerTestResult<uint8_t, 4> SimpleSigmoidUint8Test(
460 armnn::IWorkloadFactory& workloadFactory,
461 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
462
463LayerTestResult<float, 4> CompareConvolution2dTest(
464 armnn::IWorkloadFactory& workloadFactory,
465 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
telsoa014fcda012018-03-09 14:13:49 +0000466 armnn::IWorkloadFactory& refWorkloadFactory);
467
468template<typename T>
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000469LayerTestResult<T, 4> CompareDepthwiseConvolution2dTest(
470 armnn::IWorkloadFactory& workloadFactory,
471 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
472 armnn::IWorkloadFactory& refWorkloadFactory,
Matthew Bentham8800c002018-11-19 13:19:28 +0000473 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +0000474
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000475LayerTestResult<float, 4> CompareNormalizationTest(
476 armnn::IWorkloadFactory& workloadFactory,
477 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
478 armnn::IWorkloadFactory& refWorkloadFactory,
479 armnn::NormalizationAlgorithmChannel normChannel,
480 armnn::NormalizationAlgorithmMethod normMethod);
telsoa014fcda012018-03-09 14:13:49 +0000481
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000482LayerTestResult<float, 2> CompareSoftmaxTest(
483 armnn::IWorkloadFactory& workloadFactory,
484 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
telsoa014fcda012018-03-09 14:13:49 +0000485 armnn::IWorkloadFactory& refWorkloadFactory,
486 float beta);
487
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000488LayerTestResult<float, 2> FullyConnectedFloat32Test(
489 armnn::IWorkloadFactory& workloadFactory,
490 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
491 bool biasEnabled,
492 bool transposeWeights);
telsoa014fcda012018-03-09 14:13:49 +0000493
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000494std::vector<LayerTestResult<float, 3>> SplitterTest(
495 armnn::IWorkloadFactory& workloadFactory,
496 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
David Beck5cd01f32018-09-12 16:00:08 +0100497
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000498LayerTestResult<float, 3> CopyViaSplitterTest(
499 armnn::IWorkloadFactory& workloadFactory,
500 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000501
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000502LayerTestResult<float, 3> MergerTest(
503 armnn::IWorkloadFactory& workloadFactory,
504 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000505
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000506LayerTestResult<float, 4> AdditionTest(
507 armnn::IWorkloadFactory& workloadFactory,
508 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000509
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000510LayerTestResult<float, 4> AdditionBroadcast1ElementTest(
511 armnn::IWorkloadFactory& workloadFactory,
512 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000513
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000514LayerTestResult<float, 4> AdditionBroadcastTest(
515 armnn::IWorkloadFactory& workloadFactory,
516 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000517
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000518LayerTestResult<float, 4> CompareAdditionTest(
519 armnn::IWorkloadFactory& workloadFactory,
520 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
521 armnn::IWorkloadFactory& refWorkloadFactory);
telsoa014fcda012018-03-09 14:13:49 +0000522
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000523LayerTestResult<float, 4> SubtractionTest(
524 armnn::IWorkloadFactory& workloadFactory,
525 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000526
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000527LayerTestResult<float, 4> SubtractionBroadcast1ElementTest(
528 armnn::IWorkloadFactory& workloadFactory,
529 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000530
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000531LayerTestResult<float, 4> SubtractionBroadcastTest(
532 armnn::IWorkloadFactory& workloadFactory,
533 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000534
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000535LayerTestResult<float, 4> CompareActivationTest(
536 armnn::IWorkloadFactory& workloadFactory,
537 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
538 armnn::IWorkloadFactory& refWorkloadFactory,
539 armnn::ActivationFunction f,
540 unsigned int batchSize);
telsoa014fcda012018-03-09 14:13:49 +0000541
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000542LayerTestResult<float, 4> DivisionTest(
543 armnn::IWorkloadFactory& workloadFactory,
544 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000545
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000546LayerTestResult<float, 4> DivisionByZeroTest(
547 armnn::IWorkloadFactory& workloadFactory,
548 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +0100549
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000550LayerTestResult<float, 4> DivisionBroadcast1ElementTest(
551 armnn::IWorkloadFactory& workloadFactory,
552 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +0100553
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000554LayerTestResult<float, 4> DivisionBroadcast1DVectorTest(
555 armnn::IWorkloadFactory& workloadFactory,
556 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa01c577f2c2018-08-31 09:22:23 +0100557
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000558LayerTestResult<float, 4> MultiplicationTest(
559 armnn::IWorkloadFactory& workloadFactory,
560 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa01c577f2c2018-08-31 09:22:23 +0100561
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000562LayerTestResult<float, 4> MultiplicationBroadcast1ElementTest(
563 armnn::IWorkloadFactory& workloadFactory,
564 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
narpra011e4c31d2018-09-28 11:07:51 +0100565
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000566LayerTestResult<float, 4> MultiplicationBroadcast1DVectorTest(
567 armnn::IWorkloadFactory& workloadFactory,
568 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
narpra011e4c31d2018-09-28 11:07:51 +0100569
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000570LayerTestResult<float, 4> CompareMultiplicationTest(
571 armnn::IWorkloadFactory& workloadFactory,
572 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
573 armnn::IWorkloadFactory& refWorkloadFactory);
Matteo Martincigh28dcab62018-10-19 16:40:03 +0100574
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000575LayerTestResult<float, 4> BatchNormTest(
576 armnn::IWorkloadFactory& workloadFactory,
577 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000578
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000579LayerTestResult<float, 4> BatchNormNhwcTest(
580 armnn::IWorkloadFactory& workloadFactory,
581 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000582
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000583LayerTestResult<float, 4> CompareBatchNormTest(
584 armnn::IWorkloadFactory& workloadFactory,
585 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
586 armnn::IWorkloadFactory& refWorkloadFactory);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000587
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000588LayerTestResult<float, 4> BoundedReLuUpperAndLowerBoundTest(
589 armnn::IWorkloadFactory& workloadFactory,
590 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000591
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000592LayerTestResult<uint8_t, 4> BoundedReLuUint8UpperAndLowerBoundTest(
593 armnn::IWorkloadFactory& workloadFactor,
594 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManagery);
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +0000595
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000596LayerTestResult<float, 4> BoundedReLuUpperBoundOnlyTest(
597 armnn::IWorkloadFactory& workloadFactory,
598 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +0000599
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000600LayerTestResult<uint8_t, 4> BoundedReLuUint8UpperBoundOnlyTest(
601 armnn::IWorkloadFactory& workloadFactory,
602 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Éanna Ó Catháin262553e2018-11-14 11:26:23 +0000603
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000604LayerTestResult<float, 4> CompareBoundedReLuTest(
605 armnn::IWorkloadFactory& workloadFactory,
606 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
607 armnn::IWorkloadFactory& refWorkloadFactory,
608 float upperBound,
609 float lowerBound);
610
611// Tests that the output should be identical to the input when the output dimensions match the input ones.
612LayerTestResult<float, 4> ResizeBilinearNopTest(
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 behaviour of the resize bilinear operation when rescaling a 2x2 image into a 1x1 image.
618LayerTestResult<float, 4> SimpleResizeBilinearTest(
619 armnn::IWorkloadFactory& workloadFactory,
620 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000621 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000622
623// Tests the resize bilinear for minification of a square input matrix (also: input dimensions are a
624// multiple of output dimensions).
625LayerTestResult<float, 4> ResizeBilinearSqMinTest(
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 minification (output dimensions smaller than input dimensions).
631LayerTestResult<float, 4> ResizeBilinearMinTest(
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
636// Tests the resize bilinear for magnification (output dimensions bigger than input dimensions).
637LayerTestResult<float, 4> ResizeBilinearMagTest(
638 armnn::IWorkloadFactory& workloadFactory,
639 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000640 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000641
Mohamed Nour Abouelseouda1d3c6a2018-12-27 12:39:16 +0000642LayerTestResult<float, 2> Rsqrt2dTestCommon(
643 armnn::IWorkloadFactory& workloadFactory,
644 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
645 const armnn::TensorInfo inputTensorInfo,
646 const armnn::TensorInfo outputTensorInfo,
647 std::vector<float> inputValues,
648 std::vector<float> expectedOutputValues);
649
650LayerTestResult<float, 2> Rsqrt2dTest(
651 armnn::IWorkloadFactory& workloadFactory,
652 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
653
654LayerTestResult<float, 3> Rsqrt3dTest(
655 armnn::IWorkloadFactory& workloadFactory,
656 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
657
658LayerTestResult<float, 2> RsqrtZeroTest(
659 armnn::IWorkloadFactory& workloadFactory,
660 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
661
662LayerTestResult<float, 2> RsqrtNegativeTest(
663 armnn::IWorkloadFactory& workloadFactory,
664 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
665
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000666LayerTestResult<float, 4> BatchNormTest(
667 armnn::IWorkloadFactory& workloadFactory,
668 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
669
670LayerTestResult<float, 4> BatchNormNhwcTest(
671 armnn::IWorkloadFactory& workloadFactory,
672 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
673
674LayerTestResult<float, 2> FakeQuantizationTest(
675 armnn::IWorkloadFactory& workloadFactory,
676 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
677
678LayerTestResult<float, 4> L2Normalization1dTest(
679 armnn::IWorkloadFactory& workloadFactory,
680 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000681 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000682
683LayerTestResult<float, 4> L2Normalization2dTest(
684 armnn::IWorkloadFactory& workloadFactory,
685 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000686 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000687
688LayerTestResult<float, 4> L2Normalization3dTest(
689 armnn::IWorkloadFactory& workloadFactory,
690 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000691 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000692
693LayerTestResult<float, 4> L2Normalization4dTest(
694 armnn::IWorkloadFactory& workloadFactory,
695 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000696 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000697
698LayerTestResult<float, 4> ConstantTest(
699 armnn::IWorkloadFactory& workloadFactory,
700 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
701
702LayerTestResult<uint8_t, 4> ConstantTestUint8(
703 armnn::IWorkloadFactory& workloadFactory,
704 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
705
706LayerTestResult<uint8_t, 4> BoundedReLuUint8Test(
707 armnn::IWorkloadFactory& workloadFactory,
708 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
709 float upperBound);
710
711LayerTestResult<uint8_t, 4> BoundedReLuUint8Test(
712 armnn::IWorkloadFactory& workloadFactory,
713 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
714 float upperBound,
715 float lowerBound);
716
717LayerTestResult<uint8_t, 2> FullyConnectedUint8Test(
718 armnn::IWorkloadFactory& workloadFactory,
719 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
720 bool biasEnabled);
721
722std::vector<LayerTestResult<uint8_t, 3>> SplitterUint8Test(
723 armnn::IWorkloadFactory& workloadFactory,
724 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
725
726LayerTestResult<uint8_t, 3> CopyViaSplitterUint8Test(
727 armnn::IWorkloadFactory& workloadFactory,
728 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
729
730LayerTestResult<uint8_t, 3> MergerUint8Test(
731 armnn::IWorkloadFactory& workloadFactory,
732 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
733
734LayerTestResult<uint8_t, 4> AdditionUint8Test(
735 armnn::IWorkloadFactory& workloadFactory,
736 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
737
738LayerTestResult<uint8_t, 4> AdditionBroadcast1ElementUint8Test(
739 armnn::IWorkloadFactory& workloadFactory,
740 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
741
742LayerTestResult<uint8_t, 4> AdditionBroadcastUint8Test(
743 armnn::IWorkloadFactory& workloadFactory,
744 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
745
746LayerTestResult<uint8_t, 4> SubtractionUint8Test(
747 armnn::IWorkloadFactory& workloadFactory,
748 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
749
750LayerTestResult<uint8_t, 4> SubtractionBroadcast1ElementUint8Test(
751 armnn::IWorkloadFactory& workloadFactory,
752 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
753
754LayerTestResult<uint8_t, 4> SubtractionBroadcastUint8Test(
755 armnn::IWorkloadFactory& workloadFactory,
756 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
757
758LayerTestResult<uint8_t, 4> CompareActivationUint8Test(
759 armnn::IWorkloadFactory& workloadFactory,
760 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
761 armnn::IWorkloadFactory& refWorkloadFactory,
762 armnn::ActivationFunction f);
763
764LayerTestResult<uint8_t, 2> CompareSoftmaxUint8Test(
765 armnn::IWorkloadFactory& workloadFactory,
766 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
767 armnn::IWorkloadFactory& refWorkloadFactory,
768 float beta);
769
770LayerTestResult<uint8_t, 4> MultiplicationUint8Test(
771 armnn::IWorkloadFactory& workloadFactory,
772 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
773
774LayerTestResult<uint8_t, 4> MultiplicationBroadcast1ElementUint8Test(
775 armnn::IWorkloadFactory& workloadFactory,
776 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
777
778LayerTestResult<uint8_t, 4> MultiplicationBroadcast1DVectorUint8Test(
779 armnn::IWorkloadFactory& workloadFactory,
780 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
781
782LayerTestResult<uint8_t, 4> DivisionUint8Test(
783 armnn::IWorkloadFactory& workloadFactory,
784 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
785
786LayerTestResult<uint8_t, 4> DivisionBroadcast1ElementUint8Test(
787 armnn::IWorkloadFactory& workloadFactory,
788 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
789
790LayerTestResult<uint8_t, 4> DivisionBroadcast1DVectorUint8Test(
791 armnn::IWorkloadFactory& workloadFactory,
792 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
793
794LayerTestResult<uint8_t, 4> SimpleConvolution2d3x5Uint8Test(
795 armnn::IWorkloadFactory& workloadFactory,
796 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
797 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000798 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000799
800LayerTestResult<uint8_t, 4> SimpleConvolution2d3x3Uint8Test(
801 armnn::IWorkloadFactory& workloadFactory,
802 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
803 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000804 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000805
806LayerTestResult<uint8_t, 4> DepthwiseConvolution2dUint8Test(
807 armnn::IWorkloadFactory& workloadFactory,
808 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
809 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000810 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000811
812LayerTestResult<uint8_t, 4> DepthwiseConvolution2dDepthMul1Uint8Test(
813 armnn::IWorkloadFactory& workloadFactory,
814 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
815 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000816 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000817
818LayerTestResult<uint8_t, 4> ConstantLinearActivationUint8Test(
819 armnn::IWorkloadFactory& workloadFactory,
820 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
821
822LayerTestResult<uint8_t, 4> ResizeBilinearNopUint8Test(
823 armnn::IWorkloadFactory& workloadFactory,
824 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
825
826LayerTestResult<uint8_t, 4> SimpleResizeBilinearUint8Test(
827 armnn::IWorkloadFactory& workloadFactory,
828 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
829
830LayerTestResult<uint8_t, 4> ResizeBilinearSqMinUint8Test(
831 armnn::IWorkloadFactory& workloadFactory,
832 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
833
834LayerTestResult<uint8_t, 4> ResizeBilinearMinUint8Test(
835 armnn::IWorkloadFactory& workloadFactory,
836 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
837
838LayerTestResult<uint8_t, 4> ResizeBilinearMagUint8Test(
839 armnn::IWorkloadFactory& workloadFactory,
840 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
841
842LayerTestResult<uint8_t, 4> BatchNormUint8Test(
843 armnn::IWorkloadFactory& workloadFactory,
844 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
845
846LayerTestResult<uint8_t, 4> BatchNormUint8NhwcTest(
847 armnn::IWorkloadFactory& workloadFactory,
848 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
849
850LayerTestResult<uint8_t, 4> ConstantUint8Test(
851 armnn::IWorkloadFactory& workloadFactory,
852 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
853
854LayerTestResult<uint8_t, 1> Concatenation1dUint8Test(
855 armnn::IWorkloadFactory& workloadFactory,
856 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
857
858LayerTestResult<uint8_t, 2> Concatenation2dDim0Uint8Test(
859 armnn::IWorkloadFactory& workloadFactory,
860 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
861
862LayerTestResult<uint8_t, 2> Concatenation2dDim1Uint8Test(
863 armnn::IWorkloadFactory& workloadFactory,
864 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
865
866LayerTestResult<uint8_t, 2> Concatenation2dDim0DiffInputDimsUint8Test(
867 armnn::IWorkloadFactory& workloadFactory,
868 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
869
870LayerTestResult<uint8_t, 2> Concatenation2dDim1DiffInputDimsUint8Test(
871 armnn::IWorkloadFactory& workloadFactory,
872 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
873
874LayerTestResult<uint8_t, 3> Concatenation3dDim0Uint8Test(
875 armnn::IWorkloadFactory& workloadFactory,
876 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
877
878LayerTestResult<uint8_t, 3> Concatenation3dDim1Uint8Test(
879 armnn::IWorkloadFactory& workloadFactory,
880 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
881
882LayerTestResult<uint8_t, 3> Concatenation3dDim2Uint8Test(
883 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000884 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
885 bool useSubtensor);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000886
887LayerTestResult<uint8_t, 3> Concatenation3dDim0DiffInputDimsUint8Test(
888 armnn::IWorkloadFactory& workloadFactory,
889 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
890
891LayerTestResult<uint8_t, 3> Concatenation3dDim1DiffInputDimsUint8Test(
892 armnn::IWorkloadFactory& workloadFactory,
893 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
894
895LayerTestResult<uint8_t, 3> Concatenation3dDim2DiffInputDimsUint8Test(
896 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000897 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
898 bool useSubtensor);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000899
FrancisMurtagh30cdfca2018-12-18 12:57:35 +0000900LayerTestResult<float, 4> EqualSimpleTest(
901 armnn::IWorkloadFactory& workloadFactory,
902 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
903
904LayerTestResult<float, 4> EqualBroadcast1ElementTest(
905 armnn::IWorkloadFactory& workloadFactory,
906 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
907
908LayerTestResult<float, 4> EqualBroadcast1DVectorTest(
909 armnn::IWorkloadFactory& workloadFactory,
910 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
911
912LayerTestResult<uint8_t, 4> EqualUint8Test(
913 armnn::IWorkloadFactory& workloadFactory,
914 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
915
916LayerTestResult<uint8_t, 4> EqualBroadcast1ElementUint8Test(
917 armnn::IWorkloadFactory& workloadFactory,
918 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
919
920LayerTestResult<uint8_t, 4> EqualBroadcast1DVectorUint8Test(
921 armnn::IWorkloadFactory& workloadFactory,
922 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
923
FrancisMurtagh878f0232018-12-19 10:56:15 +0000924LayerTestResult<float, 4> GreaterSimpleTest(
925 armnn::IWorkloadFactory& workloadFactory,
926 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
927
928LayerTestResult<float, 4> GreaterBroadcast1ElementTest(
929 armnn::IWorkloadFactory& workloadFactory,
930 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
931
932LayerTestResult<float, 4> GreaterBroadcast1DVectorTest(
933 armnn::IWorkloadFactory& workloadFactory,
934 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
935
936LayerTestResult<uint8_t, 4> GreaterUint8Test(
937 armnn::IWorkloadFactory& workloadFactory,
938 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
939
940LayerTestResult<uint8_t, 4> GreaterBroadcast1ElementUint8Test(
941 armnn::IWorkloadFactory& workloadFactory,
942 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
943
944LayerTestResult<uint8_t, 4> GreaterBroadcast1DVectorUint8Test(
945 armnn::IWorkloadFactory& workloadFactory,
946 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
947
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000948LayerTestResult<float, 2> FullyConnectedLargeTest(
949 armnn::IWorkloadFactory& workloadFactory,
950 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
951 bool transposeWeights);
952
953LayerTestResult<float, 4> SimplePermuteFloat32Test(
954 armnn::IWorkloadFactory& workloadFactory,
955 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
956
957LayerTestResult<uint8_t, 4> SimplePermuteUint8Test(
958 armnn::IWorkloadFactory& workloadFactory,
959 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
960
961LayerTestResult<uint8_t, 2> PadUint82dTest(
962 armnn::IWorkloadFactory& workloadFactory,
963 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
964
965LayerTestResult<uint8_t, 3> PadUint83dTest(
966 armnn::IWorkloadFactory& workloadFactory,
967 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
968
969LayerTestResult<uint8_t, 4> PadUint84dTest(
970 armnn::IWorkloadFactory& workloadFactory,
971 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
972
973LayerTestResult<float, 2> PadFloat322dTest(
974 armnn::IWorkloadFactory& workloadFactory,
975 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
976
977LayerTestResult<float, 3> PadFloat323dTest(
978 armnn::IWorkloadFactory& workloadFactory,
979 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
980
981LayerTestResult<float, 4> PadFloat324dTest(
982 armnn::IWorkloadFactory& workloadFactory,
983 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
984
985LayerTestResult<float, 4> PermuteFloat32ValueSet1Test(
986 armnn::IWorkloadFactory& workloadFactory,
987 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
988
989LayerTestResult<float, 4> PermuteFloat32ValueSet2Test(
990 armnn::IWorkloadFactory& workloadFactory,
991 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
992
993LayerTestResult<float, 4> PermuteFloat32ValueSet3Test(
994 armnn::IWorkloadFactory& workloadFactory,
995 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
996
997LayerTestResult<float, 2> LstmLayerFloat32WithCifgWithPeepholeNoProjectionTest(
998 armnn::IWorkloadFactory& workloadFactory,
999 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1000
1001LayerTestResult<float, 2> LstmLayerFloat32NoCifgNoPeepholeNoProjectionTest(
1002 armnn::IWorkloadFactory& workloadFactory,
1003 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1004
1005LayerTestResult<float, 2> LstmLayerFloat32NoCifgWithPeepholeWithProjectionTest(
1006 armnn::IWorkloadFactory& workloadFactory,
1007 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1008
1009LayerTestResult<float, 4> SimpleConvertFp16ToFp32Test(
1010 armnn::IWorkloadFactory& workloadFactory,
1011 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1012
1013LayerTestResult<armnn::Half, 4> SimpleConvertFp32ToFp16Test(
1014 armnn::IWorkloadFactory& workloadFactory,
1015 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1016
Éanna Ó Catháinde705582018-12-03 13:04:22 +00001017LayerTestResult<float, 4> MaximumSimpleTest(
1018 armnn::IWorkloadFactory& workloadFactory,
1019 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1020
1021LayerTestResult<float, 4> MaximumBroadcast1ElementTest(
1022 armnn::IWorkloadFactory& workloadFactory,
1023 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1024
1025LayerTestResult<float, 4> MaximumBroadcast1DVectorTest(
1026 armnn::IWorkloadFactory& workloadFactory,
1027 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1028
1029LayerTestResult<uint8_t , 4> MaximumUint8Test(
1030 armnn::IWorkloadFactory& workloadFactory,
1031 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1032
1033LayerTestResult<uint8_t, 4> MaximumBroadcast1ElementUint8Test(
1034 armnn::IWorkloadFactory& workloadFactory,
1035 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1036
1037LayerTestResult<uint8_t, 4> MaximumBroadcast1DVectorUint8Test(
1038 armnn::IWorkloadFactory& workloadFactory,
1039 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1040
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001041LayerTestResult<uint8_t, 1> MeanUint8SimpleTest(
1042 armnn::IWorkloadFactory& workloadFactory,
1043 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1044
1045LayerTestResult<uint8_t, 3> MeanUint8SimpleAxisTest(
1046 armnn::IWorkloadFactory& workloadFactory,
1047 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1048
1049LayerTestResult<uint8_t, 4> MeanUint8KeepDimsTest(
1050 armnn::IWorkloadFactory& workloadFactory,
1051 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1052
1053LayerTestResult<uint8_t, 4> MeanUint8MultipleDimsTest(
1054 armnn::IWorkloadFactory& workloadFactory,
1055 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1056
1057LayerTestResult<uint8_t, 1> MeanVtsUint8Test(
1058 armnn::IWorkloadFactory& workloadFactory,
1059 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1060
1061LayerTestResult<float, 1> MeanFloatSimpleTest(
1062 armnn::IWorkloadFactory& workloadFactory,
1063 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1064
1065LayerTestResult<float, 3> MeanFloatSimpleAxisTest(
1066 armnn::IWorkloadFactory& workloadFactory,
1067 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1068
1069LayerTestResult<float, 4> MeanFloatKeepDimsTest(
1070 armnn::IWorkloadFactory& workloadFactory,
1071 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1072
1073LayerTestResult<float, 4> MeanFloatMultipleDimsTest(
1074 armnn::IWorkloadFactory& workloadFactory,
1075 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1076
1077LayerTestResult<float, 1> MeanVtsFloat1Test(
1078 armnn::IWorkloadFactory& workloadFactory,
1079 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1080
1081LayerTestResult<float, 3> MeanVtsFloat2Test(
1082 armnn::IWorkloadFactory& workloadFactory,
1083 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1084
1085LayerTestResult<float, 3> MeanVtsFloat3Test(
1086 armnn::IWorkloadFactory& workloadFactory,
1087 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1088
Éanna Ó Catháin20e58802018-12-04 10:29:06 +00001089LayerTestResult<float, 4> MinimumBroadcast1ElementTest1(
1090 armnn::IWorkloadFactory& workloadFactory,
1091 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1092
1093LayerTestResult<float, 4> MinimumBroadcast1ElementTest2(
1094 armnn::IWorkloadFactory& workloadFactory,
1095 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1096
1097LayerTestResult<uint8_t, 4> MinimumBroadcast1DVectorUint8Test(
1098 armnn::IWorkloadFactory & workloadFactory,
1099 const armnn::IBackendInternal::IMemoryManagerSharedPtr & memoryManager);
1100
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001101LayerTestResult<float, 4> AdditionAfterMaxPoolTest(
1102 armnn::IWorkloadFactory& workloadFactory,
1103 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1104
1105LayerTestResult<float, 4> SpaceToBatchNdSimpleFloat32Test(
1106 armnn::IWorkloadFactory& workloadFactory,
1107 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1108
1109LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsFloat32Test(
1110 armnn::IWorkloadFactory& workloadFactory,
1111 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1112
1113LayerTestResult<float, 4> SpaceToBatchNdMultiBlockFloat32Test(
1114 armnn::IWorkloadFactory& workloadFactory,
1115 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1116
1117LayerTestResult<float, 4> SpaceToBatchNdPaddingFloat32Test(
1118 armnn::IWorkloadFactory& workloadFactory,
1119 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1120
1121LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleUint8Test(
1122 armnn::IWorkloadFactory& workloadFactory,
1123 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1124
1125LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsUint8Test(
1126 armnn::IWorkloadFactory& workloadFactory,
1127 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1128
1129LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockUint8Test(
1130 armnn::IWorkloadFactory& workloadFactory,
1131 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1132
1133LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingUint8Test(
1134 armnn::IWorkloadFactory& workloadFactory,
1135 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1136
1137LayerTestResult<float, 4> SpaceToBatchNdSimpleNHWCFloat32Test(
1138 armnn::IWorkloadFactory& workloadFactory,
1139 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1140
1141LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsNHWCFloat32Test(
1142 armnn::IWorkloadFactory& workloadFactory,
1143 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1144
1145LayerTestResult<float, 4> SpaceToBatchNdMultiBlockNHWCFloat32Test(
1146 armnn::IWorkloadFactory& workloadFactory,
1147 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1148
1149LayerTestResult<float, 4> SpaceToBatchNdPaddingNHWCFloat32Test(
1150 armnn::IWorkloadFactory& workloadFactory,
1151 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1152
1153LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleNHWCUint8Test(
1154 armnn::IWorkloadFactory& workloadFactory,
1155 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1156
1157LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsNHWCUint8Test(
1158 armnn::IWorkloadFactory& workloadFactory,
1159 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1160
1161LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockNHWCUint8Test(
1162 armnn::IWorkloadFactory& workloadFactory,
1163 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1164
1165LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingNHWCUint8Test(
1166 armnn::IWorkloadFactory& workloadFactory,
1167 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1168
1169LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test1(
1170 armnn::IWorkloadFactory& workloadFactory,
1171 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1172
1173LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test2(
1174 armnn::IWorkloadFactory& workloadFactory,
1175 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1176
1177LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test3(
1178 armnn::IWorkloadFactory& workloadFactory,
1179 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1180
1181LayerTestResult<float, 4> BatchToSpaceNdNchwFloat32Test1(
1182 armnn::IWorkloadFactory &workloadFactory,
1183 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1184
Mike Kelly831faed2018-11-28 11:52:08 +00001185LayerTestResult<float, 4> BatchToSpaceNdNchwFloat32Test2(
1186 armnn::IWorkloadFactory &workloadFactory,
1187 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1188
1189LayerTestResult<float, 4> BatchToSpaceNdNchwFloat32Test3(
1190 armnn::IWorkloadFactory &workloadFactory,
1191 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1192
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001193LayerTestResult<uint8_t, 4> BatchToSpaceNdNhwcUintTest1(
1194 armnn::IWorkloadFactory &workloadFactory,
1195 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001196
Mike Kelly831faed2018-11-28 11:52:08 +00001197LayerTestResult<uint8_t, 4> BatchToSpaceNdNhwcUintTest2(
1198 armnn::IWorkloadFactory &workloadFactory,
1199 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1200
1201LayerTestResult<uint8_t, 4> BatchToSpaceNdNhwcUintTest3(
1202 armnn::IWorkloadFactory &workloadFactory,
1203 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1204
1205LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest1(
1206 armnn::IWorkloadFactory &workloadFactory,
1207 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1208
1209LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest2(
1210 armnn::IWorkloadFactory &workloadFactory,
1211 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1212
1213LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest3(
1214 armnn::IWorkloadFactory &workloadFactory,
1215 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1216
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001217LayerTestResult<float, 4> StridedSlice4DFloat32Test(
1218 armnn::IWorkloadFactory& workloadFactory,
1219 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowongcfdcadf2018-12-06 11:54:33 +00001220
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001221LayerTestResult<float, 4> StridedSlice4DReverseFloat32Test(
1222 armnn::IWorkloadFactory& workloadFactory,
1223 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1224
1225LayerTestResult<float, 4> StridedSliceSimpleStrideFloat32Test(
1226 armnn::IWorkloadFactory& workloadFactory,
1227 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1228
1229LayerTestResult<float, 4> StridedSliceSimpleRangeMaskFloat32Test(
1230 armnn::IWorkloadFactory& workloadFactory,
1231 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1232
1233LayerTestResult<float, 2> StridedSliceShrinkAxisMaskFloat32Test(
1234 armnn::IWorkloadFactory& workloadFactory,
1235 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1236
1237LayerTestResult<float, 3> StridedSlice3DFloat32Test(
1238 armnn::IWorkloadFactory& workloadFactory,
1239 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1240
1241LayerTestResult<float, 3> StridedSlice3DReverseFloat32Test(
1242 armnn::IWorkloadFactory& workloadFactory,
1243 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1244
1245LayerTestResult<float, 2> StridedSlice2DFloat32Test(
1246 armnn::IWorkloadFactory& workloadFactory,
1247 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1248
1249LayerTestResult<float, 2> StridedSlice2DReverseFloat32Test(
1250 armnn::IWorkloadFactory& workloadFactory,
1251 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1252
1253LayerTestResult<uint8_t, 4> StridedSlice4DUint8Test(
1254 armnn::IWorkloadFactory& workloadFactory,
1255 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1256
1257LayerTestResult<uint8_t, 4> StridedSlice4DReverseUint8Test(
1258 armnn::IWorkloadFactory& workloadFactory,
1259 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1260
1261LayerTestResult<uint8_t, 4> StridedSliceSimpleStrideUint8Test(
1262 armnn::IWorkloadFactory& workloadFactory,
1263 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1264
1265LayerTestResult<uint8_t, 4> StridedSliceSimpleRangeMaskUint8Test(
1266 armnn::IWorkloadFactory& workloadFactory,
1267 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1268
1269LayerTestResult<uint8_t, 2> StridedSliceShrinkAxisMaskUint8Test(
1270 armnn::IWorkloadFactory& workloadFactory,
1271 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1272
1273LayerTestResult<uint8_t, 3> StridedSlice3DUint8Test(
1274 armnn::IWorkloadFactory& workloadFactory,
1275 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1276
1277LayerTestResult<uint8_t, 3> StridedSlice3DReverseUint8Test(
1278 armnn::IWorkloadFactory& workloadFactory,
1279 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1280
1281LayerTestResult<uint8_t, 2> StridedSlice2DUint8Test(
1282 armnn::IWorkloadFactory& workloadFactory,
1283 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1284
1285LayerTestResult<uint8_t, 2> StridedSlice2DReverseUint8Test(
1286 armnn::IWorkloadFactory& workloadFactory,
1287 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowongcfdcadf2018-12-06 11:54:33 +00001288
1289LayerTestResult<float, 4> Debug4DFloat32Test(
1290 armnn::IWorkloadFactory& workloadFactory,
1291 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1292
1293LayerTestResult<float, 3> Debug3DFloat32Test(
1294 armnn::IWorkloadFactory& workloadFactory,
1295 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1296
1297LayerTestResult<float, 2> Debug2DFloat32Test(
1298 armnn::IWorkloadFactory& workloadFactory,
1299 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1300
1301LayerTestResult<float, 1> Debug1DFloat32Test(
1302 armnn::IWorkloadFactory& workloadFactory,
1303 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1304
1305LayerTestResult<uint8_t, 4> Debug4DUint8Test(
1306 armnn::IWorkloadFactory& workloadFactory,
1307 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1308
1309LayerTestResult<uint8_t, 3> Debug3DUint8Test(
1310 armnn::IWorkloadFactory& workloadFactory,
1311 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1312
1313LayerTestResult<uint8_t, 2> Debug2DUint8Test(
1314 armnn::IWorkloadFactory& workloadFactory,
1315 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1316
1317LayerTestResult<uint8_t, 1> Debug1DUint8Test(
1318 armnn::IWorkloadFactory& workloadFactory,
1319 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);