blob: 84001aa7ea7d638c75b79b1ecdd83b7b6131c1e1 [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;
kevmay012b4d88e2019-01-24 14:05:09 +000050 compareBoolean = false;
telsoa014fcda012018-03-09 14:13:49 +000051 }
52
53 boost::multi_array<T, n> output;
54 boost::multi_array<T, n> outputExpected;
55 bool supported;
kevmay012b4d88e2019-01-24 14:05:09 +000056 bool compareBoolean;
telsoa014fcda012018-03-09 14:13:49 +000057};
58
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000059LayerTestResult<float, 4> SimpleConvolution2d3x5Test(
60 armnn::IWorkloadFactory& workloadFactory,
61 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
62 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +000063 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +000064
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000065LayerTestResult<float, 4> SimpleConvolution2d3x3Test(
66 armnn::IWorkloadFactory& workloadFactory,
67 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
68 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +000069 const armnn::DataLayout layout);
Francis Murtaghd59116e2018-10-04 16:03:07 +010070
Mike Kelly7332ed82018-12-20 17:03:06 +000071LayerTestResult<float, 4> SimpleConvolution2d3x3Stride2x2Test(
72 armnn::IWorkloadFactory& workloadFactory,
73 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
74 bool biasEnabled,
75 const armnn::DataLayout layout);
76
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000077LayerTestResult<float, 4> SimpleConvolution2d3x3NhwcTest(
78 armnn::IWorkloadFactory& workloadFactory,
79 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
80 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +000081
82LayerTestResult<float, 4>
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000083Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest(
84 armnn::IWorkloadFactory& workloadFactory,
85 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +000086 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +000087
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000088LayerTestResult<float, 4> Convolution2dAsymmetricPaddingTest(
89 armnn::IWorkloadFactory& workloadFactory,
90 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +000091 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +000092
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000093LayerTestResult<float, 4> Convolution1dTest(
94 armnn::IWorkloadFactory& workloadFactory,
95 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
96 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +000097
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +000098LayerTestResult<uint8_t, 4> Convolution1dUint8Test(
99 armnn::IWorkloadFactory& workloadFactory,
100 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
101 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +0000102
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000103LayerTestResult<float, 4> DepthwiseConvolution2dTest(
104 armnn::IWorkloadFactory& workloadFactory,
105 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
106 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000107 const armnn::DataLayout layout);
Nikhil Rajcec6b652018-10-12 13:51:57 +0100108
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000109LayerTestResult<float, 4> DepthwiseConvolution2dDepthNhwcTest(
110 armnn::IWorkloadFactory& workloadFactory,
111 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
112 bool biasEnabled);
telsoa014fcda012018-03-09 14:13:49 +0000113
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000114LayerTestResult<float, 4> DepthwiseConvolution2dDepthMul1Test(
115 armnn::IWorkloadFactory& workloadFactory,
116 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
117 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000118 const armnn::DataLayout layout);
surmeh013537c2c2018-05-18 16:31:43 +0100119
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000120LayerTestResult<float, 4> DepthwiseConvolution2dAsymmetricTest(
121 armnn::IWorkloadFactory& workloadFactory,
122 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
123 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000124 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +0000125
Bruno Goncalves22972f02019-04-26 21:03:24 -0300126LayerTestResult<float, 4> SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest(armnn::IWorkloadFactory& workloadFactory,
127 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
128
Nattapat Chaimanowong649dd952019-01-22 16:10:44 +0000129LayerTestResult<float, 4> CompareDepthwiseConvolution2dFloatTest(
130 armnn::IWorkloadFactory& workloadFactory,
131 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
132 armnn::IWorkloadFactory& refWorkloadFactory,
133 const armnn::DataLayout layout);
134
135LayerTestResult<uint8_t, 4> CompareDepthwiseConvolution2dUint8Test(
136 armnn::IWorkloadFactory& workloadFactory,
137 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
138 armnn::IWorkloadFactory& refWorkloadFactory,
139 const armnn::DataLayout layout);
140
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000141LayerTestResult<float, 4> SimpleMaxPooling2dSize2x2Stride2x2Test(
142 armnn::IWorkloadFactory& workloadFactory,
143 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
144 bool forceNoPadding);
James Conroy45a9b772018-10-31 11:47:53 +0000145
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000146LayerTestResult<uint8_t, 4> SimpleMaxPooling2dSize2x2Stride2x2Uint8Test(
147 armnn::IWorkloadFactory& workloadFactory,
148 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
149 bool forceNoPadding);
James Conroy45a9b772018-10-31 11:47:53 +0000150
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000151LayerTestResult<float, 4> SimpleMaxPooling2dSize3x3Stride2x4Test(
152 armnn::IWorkloadFactory& workloadFactory,
153 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
154 bool forceNoPadding);
155
156LayerTestResult<uint8_t, 4> SimpleMaxPooling2dSize3x3Stride2x4Uint8Test(
157 armnn::IWorkloadFactory& workloadFactory,
158 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
159 bool forceNoPadding );
160
161LayerTestResult<float, 4> IgnorePaddingSimpleMaxPooling2dTest(
162 armnn::IWorkloadFactory& workloadFactory,
163 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
164
165LayerTestResult<uint8_t, 4> IgnorePaddingSimpleMaxPooling2dUint8Test(
166 armnn::IWorkloadFactory& workloadFactory,
167 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
168
169LayerTestResult<float, 4> IgnorePaddingMaxPooling2dSize3Test(
170 armnn::IWorkloadFactory& workloadFactory,
171 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
172
173LayerTestResult<uint8_t, 4> IgnorePaddingMaxPooling2dSize3Uint8Test(
174 armnn::IWorkloadFactory& workloadFactory,
175 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
176
177LayerTestResult<float, 4> SimpleMaxPooling2dTest(
178 armnn::IWorkloadFactory& workloadFactory,
179 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000180 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000181
182LayerTestResult<uint8_t, 4> SimpleMaxPooling2dUint8Test(
183 armnn::IWorkloadFactory& workloadFactory,
184 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000185 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000186
187LayerTestResult<float, 4> SimpleAveragePooling2dTest(
188 armnn::IWorkloadFactory& workloadFactory,
189 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000190 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000191
192LayerTestResult<uint8_t, 4> SimpleAveragePooling2dUint8Test(
193 armnn::IWorkloadFactory& workloadFactory,
194 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000195 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000196
197LayerTestResult<float, 4> IgnorePaddingAveragePooling2dSize3x2Stride2x2Test(
198 armnn::IWorkloadFactory& workloadFactory,
199 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
200 bool forceNoPadding);
201
202LayerTestResult<float, 4> IgnorePaddingSimpleAveragePooling2dTest(
203 armnn::IWorkloadFactory& workloadFactory,
204 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
205
206LayerTestResult<uint8_t, 4> IgnorePaddingSimpleAveragePooling2dUint8Test(
207 armnn::IWorkloadFactory& workloadFactory,
208 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
209
210LayerTestResult<float, 4> IgnorePaddingSimpleAveragePooling2dNoPaddingTest(
211 armnn::IWorkloadFactory& workloadFactory,
212 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
213
telsoa014fcda012018-03-09 14:13:49 +0000214LayerTestResult<uint8_t, 4> IgnorePaddingSimpleAveragePooling2dNoPaddingUint8Test(
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000215 armnn::IWorkloadFactory& workloadFactory,
216 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000217
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000218LayerTestResult<float, 4> IgnorePaddingAveragePooling2dSize3Test(
219 armnn::IWorkloadFactory& workloadFactory,
220 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000221
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000222LayerTestResult<uint8_t, 4> IgnorePaddingAveragePooling2dSize3Uint8Test(
223 armnn::IWorkloadFactory& workloadFactory,
224 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000225
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000226LayerTestResult<float, 4> SimpleL2Pooling2dTest(
227 armnn::IWorkloadFactory& workloadFactory,
228 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000229 const armnn::DataLayout dataLayout);
telsoa014fcda012018-03-09 14:13:49 +0000230
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000231LayerTestResult<uint8_t, 4> SimpleL2Pooling2dUint8Test(
232 armnn::IWorkloadFactory& workloadFactory,
233 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000234 const armnn::DataLayout dataLayout);
telsoa014fcda012018-03-09 14:13:49 +0000235
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000236LayerTestResult<float, 4> L2Pooling2dSize3Stride1Test(
237 armnn::IWorkloadFactory& workloadFactory,
238 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000239
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000240LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride1Uint8Test(
241 armnn::IWorkloadFactory& workloadFactory,
242 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000243
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000244LayerTestResult<float, 4> L2Pooling2dSize3Stride3Test(
245 armnn::IWorkloadFactory& workloadFactory,
246 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000247
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000248LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride3Uint8Test(
249 armnn::IWorkloadFactory& workloadFactory,
250 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000251
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000252LayerTestResult<float, 4> L2Pooling2dSize3Stride4Test(
253 armnn::IWorkloadFactory& workloadFactory,
254 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000255
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000256LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride4Uint8Test(
257 armnn::IWorkloadFactory& workloadFactory,
258 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000259
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000260LayerTestResult<float, 4> L2Pooling2dSize7Test(
261 armnn::IWorkloadFactory& workloadFactory,
262 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000263
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000264LayerTestResult<uint8_t, 4> L2Pooling2dSize7Uint8Test(
265 armnn::IWorkloadFactory& workloadFactory,
266 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000267
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000268LayerTestResult<float, 4> L2Pooling2dSize9Test(
269 armnn::IWorkloadFactory& workloadFactory,
270 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000271
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000272LayerTestResult<uint8_t, 4> L2Pooling2dSize9Uint8Test(
273 armnn::IWorkloadFactory& workloadFactory,
274 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
275
276LayerTestResult<float, 4> LargeTensorsAveragePooling2dTest(
277 armnn::IWorkloadFactory& workloadFactory,
278 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
279
280LayerTestResult<uint8_t, 4> LargeTensorsAveragePooling2dUint8Test(
281 armnn::IWorkloadFactory& workloadFactory,
282 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
283
284LayerTestResult<float, 4> IgnorePaddingSimpleL2Pooling2dTest(
285 armnn::IWorkloadFactory& workloadFactory,
286 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
287
288LayerTestResult<uint8_t, 4> IgnorePaddingSimpleL2Pooling2dUint8Test(
289 armnn::IWorkloadFactory& workloadFactory,
290 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
291
292LayerTestResult<float, 4> IgnorePaddingL2Pooling2dSize3Test(
293 armnn::IWorkloadFactory& workloadFactory,
294 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
295
296LayerTestResult<uint8_t, 4> IgnorePaddingL2Pooling2dSize3Uint8Test(
297 armnn::IWorkloadFactory& workloadFactory,
298 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
299
300LayerTestResult<float, 4> AsymmetricNonSquarePooling2dTest(
301 armnn::IWorkloadFactory& workloadFactory,
302 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
303
304LayerTestResult<uint8_t, 4> AsymmetricNonSquarePooling2dUint8Test(
305 armnn::IWorkloadFactory& workloadFactory,
306 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
307
308LayerTestResult<float, 4> ComparePooling2dTest(
309 armnn::IWorkloadFactory& workloadFactory,
310 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
311 armnn::IWorkloadFactory& refWorkloadFactory,
312 armnn::PoolingAlgorithm poolingType);
313
314LayerTestResult<uint8_t, 4> ComparePooling2dUint8Test(
315 armnn::IWorkloadFactory& workloadFactory,
316 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
317 armnn::IWorkloadFactory& refWorkloadFactory,
318 armnn::PoolingAlgorithm poolingType);
319
320LayerTestResult<float, 4> ConstantLinearActivationTest(
321 armnn::IWorkloadFactory& workloadFactory,
322 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
323
324LayerTestResult<float, 4> SimpleNormalizationAcrossTest(
325 armnn::IWorkloadFactory& workloadFactory,
326 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
327
328LayerTestResult<float, 4> SimpleNormalizationWithinTest(
329 armnn::IWorkloadFactory& workloadFactory,
330 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
331
332LayerTestResult<float,4> SimpleNormalizationAcrossNhwcTest(
333 armnn::IWorkloadFactory& workloadFactory,
334 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
335
336LayerTestResult<float, 2> SimpleSoftmaxTest(
337 armnn::IWorkloadFactory& workloadFactory,
338 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
339 float beta);
340
Narumol Prangnawarat65d30962019-03-14 11:55:03 +0000341LayerTestResult<float, 3> Simple3dSoftmaxTest(
342 armnn::IWorkloadFactory& workloadFactory,
343 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
344 float beta);
345
346LayerTestResult<float, 4> Simple4dSoftmaxTest(
347 armnn::IWorkloadFactory& workloadFactory,
348 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
349 float beta);
350
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000351LayerTestResult<uint8_t, 2> SimpleSoftmaxUint8Test(
352 armnn::IWorkloadFactory& workloadFactory,
353 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
354 float beta);
355
Narumol Prangnawarat65d30962019-03-14 11:55:03 +0000356LayerTestResult<uint8_t,3> Simple3dSoftmaxUint8Test(
357 armnn::IWorkloadFactory& workloadFactory,
358 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
359 float beta);
360
361LayerTestResult<uint8_t,4> Simple4dSoftmaxUint8Test(
362 armnn::IWorkloadFactory& workloadFactory,
363 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
364 float beta);
365
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000366LayerTestResult<float, 4> SimpleSigmoidTest(
367 armnn::IWorkloadFactory& workloadFactory,
368 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
369
370LayerTestResult<float, 4> SimpleReshapeFloat32Test(
371 armnn::IWorkloadFactory& workloadFactory,
372 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
373
374LayerTestResult<uint8_t, 4> SimpleReshapeUint8Test(
375 armnn::IWorkloadFactory& workloadFactory,
376 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
377
378LayerTestResult<float, 4> SimpleFloorTest(
379 armnn::IWorkloadFactory& workloadFactory,
380 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
381
382LayerTestResult<float, 1> Concatenation1dTest(
383 armnn::IWorkloadFactory& workloadFactory,
384 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
385
386LayerTestResult<float, 2> Concatenation2dDim0Test(
387 armnn::IWorkloadFactory& workloadFactory,
388 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
389
390LayerTestResult<float, 2> Concatenation2dDim1Test(
391 armnn::IWorkloadFactory& workloadFactory,
392 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
393
394LayerTestResult<float, 2> Concatenation2dDim0DiffInputDimsTest(
395 armnn::IWorkloadFactory& workloadFactory,
396 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
397
398LayerTestResult<float, 2> Concatenation2dDim1DiffInputDimsTest(
399 armnn::IWorkloadFactory& workloadFactory,
400 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
401
402LayerTestResult<float, 3> Concatenation3dDim0Test(
403 armnn::IWorkloadFactory& workloadFactory,
404 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
405
406LayerTestResult<float, 3> Concatenation3dDim1Test(
407 armnn::IWorkloadFactory& workloadFactory,
408 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
409
410LayerTestResult<float, 3> Concatenation3dDim2Test(
411 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000412 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
413 bool useSubtensor);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000414
415LayerTestResult<float, 3> Concatenation3dDim0DiffInputDimsTest(
416 armnn::IWorkloadFactory& workloadFactory,
417 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
418
419LayerTestResult<float, 3> Concatenation3dDim1DiffInputDimsTest(
420 armnn::IWorkloadFactory& workloadFactory,
421 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
422
423LayerTestResult<float, 3> Concatenation3dDim2DiffInputDimsTest(
424 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +0000425 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
426 bool useSubtensor);
427
428LayerTestResult<float, 4> Concatenation4dDim0Test(
429 armnn::IWorkloadFactory& workloadFactory,
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000430 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
431
narpra015cdda352018-11-19 15:30:27 +0000432LayerTestResult<float, 4> Concatenation4dDim1Test(
433 armnn::IWorkloadFactory& workloadFactory,
434 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
435
436LayerTestResult<float, 4> Concatenation4dDim2Test(
437 armnn::IWorkloadFactory& workloadFactory,
438 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
439
440LayerTestResult<float, 4> Concatenation4dDim3Test(
441 armnn::IWorkloadFactory& workloadFactory,
442 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
443 bool useSubtensor);
444
445LayerTestResult<float, 4> Concatenation4dDiffShapeDim0Test(
446 armnn::IWorkloadFactory& workloadFactory,
447 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
448
449LayerTestResult<float, 4> Concatenation4dDiffShapeDim1Test(
450 armnn::IWorkloadFactory& workloadFactory,
451 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
452
453LayerTestResult<float, 4> Concatenation4dDiffShapeDim2Test(
454 armnn::IWorkloadFactory& workloadFactory,
455 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
456
457LayerTestResult<float, 4> Concatenation4dDiffShapeDim3Test(
458 armnn::IWorkloadFactory& workloadFactory,
459 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
460 bool useSubtensor);
461
462LayerTestResult<uint8_t, 4> Concatenation4dDim0Uint8Test(
463 armnn::IWorkloadFactory& workloadFactory,
464 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
465
466LayerTestResult<uint8_t, 4> Concatenation4dDim1Uint8Test(
467 armnn::IWorkloadFactory& workloadFactory,
468 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
469
470LayerTestResult<uint8_t, 4> Concatenation4dDim2Uint8Test(
471 armnn::IWorkloadFactory& workloadFactory,
472 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
473
474LayerTestResult<uint8_t, 4> Concatenation4dDim3Uint8Test(
475 armnn::IWorkloadFactory& workloadFactory,
476 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
477 bool useSubtensor);
478
479LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim0Uint8Test(
480 armnn::IWorkloadFactory& workloadFactory,
481 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
482
483LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim1Uint8Test(
484 armnn::IWorkloadFactory& workloadFactory,
485 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
486
487LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim2Uint8Test(
488 armnn::IWorkloadFactory& workloadFactory,
489 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
490
491LayerTestResult<uint8_t, 4> Concatenation4dDiffShapeDim3Uint8Test(
492 armnn::IWorkloadFactory& workloadFactory,
493 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
494 bool useSubtensor);
495
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000496LayerTestResult<uint8_t, 4> SimpleSigmoidUint8Test(
497 armnn::IWorkloadFactory& workloadFactory,
498 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
499
Teresa Charlin18515e22019-04-24 10:17:46 +0100500LayerTestResult<int16_t, 4> SimpleSigmoidInt16Test(
501 armnn::IWorkloadFactory& workloadFactory,
502 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
503
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000504LayerTestResult<float, 4> CompareConvolution2dTest(
505 armnn::IWorkloadFactory& workloadFactory,
506 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
telsoa014fcda012018-03-09 14:13:49 +0000507 armnn::IWorkloadFactory& refWorkloadFactory);
508
509template<typename T>
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000510LayerTestResult<T, 4> CompareDepthwiseConvolution2dTest(
511 armnn::IWorkloadFactory& workloadFactory,
512 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
513 armnn::IWorkloadFactory& refWorkloadFactory,
Matthew Bentham8800c002018-11-19 13:19:28 +0000514 const armnn::DataLayout layout);
telsoa014fcda012018-03-09 14:13:49 +0000515
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000516LayerTestResult<float, 4> CompareNormalizationTest(
517 armnn::IWorkloadFactory& workloadFactory,
518 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
519 armnn::IWorkloadFactory& refWorkloadFactory,
520 armnn::NormalizationAlgorithmChannel normChannel,
521 armnn::NormalizationAlgorithmMethod normMethod);
telsoa014fcda012018-03-09 14:13:49 +0000522
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000523LayerTestResult<float, 2> CompareSoftmaxTest(
524 armnn::IWorkloadFactory& workloadFactory,
525 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
telsoa014fcda012018-03-09 14:13:49 +0000526 armnn::IWorkloadFactory& refWorkloadFactory,
527 float beta);
528
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000529LayerTestResult<float, 2> FullyConnectedFloat32Test(
530 armnn::IWorkloadFactory& workloadFactory,
531 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
532 bool biasEnabled,
533 bool transposeWeights);
telsoa014fcda012018-03-09 14:13:49 +0000534
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000535std::vector<LayerTestResult<float, 3>> SplitterTest(
536 armnn::IWorkloadFactory& workloadFactory,
537 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
David Beck5cd01f32018-09-12 16:00:08 +0100538
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000539LayerTestResult<float, 3> CopyViaSplitterTest(
540 armnn::IWorkloadFactory& workloadFactory,
541 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000542
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000543LayerTestResult<float, 3> MergerTest(
544 armnn::IWorkloadFactory& workloadFactory,
545 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000546
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000547LayerTestResult<float, 4> AdditionTest(
548 armnn::IWorkloadFactory& workloadFactory,
549 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000550
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000551LayerTestResult<float, 4> AdditionBroadcast1ElementTest(
552 armnn::IWorkloadFactory& workloadFactory,
553 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000554
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000555LayerTestResult<float, 4> AdditionBroadcastTest(
556 armnn::IWorkloadFactory& workloadFactory,
557 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000558
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000559LayerTestResult<float, 4> CompareAdditionTest(
560 armnn::IWorkloadFactory& workloadFactory,
561 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
562 armnn::IWorkloadFactory& refWorkloadFactory);
telsoa014fcda012018-03-09 14:13:49 +0000563
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000564LayerTestResult<float, 4> SubtractionTest(
565 armnn::IWorkloadFactory& workloadFactory,
566 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000567
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000568LayerTestResult<float, 4> SubtractionBroadcast1ElementTest(
569 armnn::IWorkloadFactory& workloadFactory,
570 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000571
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000572LayerTestResult<float, 4> SubtractionBroadcastTest(
573 armnn::IWorkloadFactory& workloadFactory,
574 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000575
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000576LayerTestResult<float, 4> CompareActivationTest(
577 armnn::IWorkloadFactory& workloadFactory,
578 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
579 armnn::IWorkloadFactory& refWorkloadFactory,
580 armnn::ActivationFunction f,
581 unsigned int batchSize);
telsoa014fcda012018-03-09 14:13:49 +0000582
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000583LayerTestResult<float, 4> DivisionTest(
584 armnn::IWorkloadFactory& workloadFactory,
585 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa014fcda012018-03-09 14:13:49 +0000586
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000587LayerTestResult<float, 4> DivisionByZeroTest(
588 armnn::IWorkloadFactory& workloadFactory,
589 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +0100590
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000591LayerTestResult<float, 4> DivisionBroadcast1ElementTest(
592 armnn::IWorkloadFactory& workloadFactory,
593 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mohamed Nour Abouelseoud7420e552018-10-12 12:26:24 +0100594
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000595LayerTestResult<float, 4> DivisionBroadcast1DVectorTest(
596 armnn::IWorkloadFactory& workloadFactory,
597 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa01c577f2c2018-08-31 09:22:23 +0100598
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000599LayerTestResult<float, 4> MultiplicationTest(
600 armnn::IWorkloadFactory& workloadFactory,
601 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
telsoa01c577f2c2018-08-31 09:22:23 +0100602
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000603LayerTestResult<float, 4> MultiplicationBroadcast1ElementTest(
604 armnn::IWorkloadFactory& workloadFactory,
605 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
narpra011e4c31d2018-09-28 11:07:51 +0100606
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000607LayerTestResult<float, 4> MultiplicationBroadcast1DVectorTest(
608 armnn::IWorkloadFactory& workloadFactory,
609 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
narpra011e4c31d2018-09-28 11:07:51 +0100610
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000611LayerTestResult<float, 4> CompareMultiplicationTest(
612 armnn::IWorkloadFactory& workloadFactory,
613 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
614 armnn::IWorkloadFactory& refWorkloadFactory);
Matteo Martincigh28dcab62018-10-19 16:40:03 +0100615
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000616LayerTestResult<float, 4> BatchNormTest(
617 armnn::IWorkloadFactory& workloadFactory,
618 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000619
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000620LayerTestResult<float, 4> BatchNormNhwcTest(
621 armnn::IWorkloadFactory& workloadFactory,
622 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000623
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000624LayerTestResult<float, 4> CompareBatchNormTest(
625 armnn::IWorkloadFactory& workloadFactory,
626 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
627 armnn::IWorkloadFactory& refWorkloadFactory);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000628
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000629LayerTestResult<float, 4> BoundedReLuUpperAndLowerBoundTest(
630 armnn::IWorkloadFactory& workloadFactory,
631 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong3ea76d52018-11-09 14:10:38 +0000632
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000633LayerTestResult<uint8_t, 4> BoundedReLuUint8UpperAndLowerBoundTest(
634 armnn::IWorkloadFactory& workloadFactor,
635 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManagery);
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +0000636
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000637LayerTestResult<float, 4> BoundedReLuUpperBoundOnlyTest(
638 armnn::IWorkloadFactory& workloadFactory,
639 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Éanna Ó Catháin4e1e1362018-11-12 11:36:34 +0000640
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000641LayerTestResult<uint8_t, 4> BoundedReLuUint8UpperBoundOnlyTest(
642 armnn::IWorkloadFactory& workloadFactory,
643 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Éanna Ó Catháin262553e2018-11-14 11:26:23 +0000644
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000645LayerTestResult<float, 4> CompareBoundedReLuTest(
646 armnn::IWorkloadFactory& workloadFactory,
647 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
648 armnn::IWorkloadFactory& refWorkloadFactory,
649 float upperBound,
650 float lowerBound);
651
Teresa Charlin18515e22019-04-24 10:17:46 +0100652
653LayerTestResult<int16_t, 4> ReLuInt16Test(
654 armnn::IWorkloadFactory& workloadFactory,
655 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
656
657LayerTestResult<int16_t, 4> BoundedReLuInt16Test(
658 armnn::IWorkloadFactory& workloadFactory,
659 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
660
661LayerTestResult<int16_t, 4> SoftReLuInt16Test(
662 armnn::IWorkloadFactory& workloadFactory,
663 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
664
665LayerTestResult<int16_t, 4> LeakyReLuInt16Test(
666 armnn::IWorkloadFactory& workloadFactory,
667 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
668
669LayerTestResult<int16_t, 4> AbsInt16Test(
670 armnn::IWorkloadFactory& workloadFactory,
671 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
672
673LayerTestResult<int16_t, 4> SqrtInt16Test(
674 armnn::IWorkloadFactory& workloadFactory,
675 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
676
677LayerTestResult<int16_t, 4> SquareInt16Test(
678 armnn::IWorkloadFactory& workloadFactory,
679 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
680
681LayerTestResult<int16_t, 4> TanhInt16Test(
682 armnn::IWorkloadFactory& workloadFactory,
683 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
684
685
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000686// Tests that the output should be identical to the input when the output dimensions match the input ones.
687LayerTestResult<float, 4> ResizeBilinearNopTest(
688 armnn::IWorkloadFactory& workloadFactory,
689 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000690 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000691
692// Tests the behaviour of the resize bilinear operation when rescaling a 2x2 image into a 1x1 image.
693LayerTestResult<float, 4> SimpleResizeBilinearTest(
694 armnn::IWorkloadFactory& workloadFactory,
695 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000696 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000697
698// Tests the resize bilinear for minification of a square input matrix (also: input dimensions are a
699// multiple of output dimensions).
700LayerTestResult<float, 4> ResizeBilinearSqMinTest(
701 armnn::IWorkloadFactory& workloadFactory,
702 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000703 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000704
705// Tests the resize bilinear for minification (output dimensions smaller than input dimensions).
706LayerTestResult<float, 4> ResizeBilinearMinTest(
707 armnn::IWorkloadFactory& workloadFactory,
708 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000709 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000710
711// Tests the resize bilinear for magnification (output dimensions bigger than input dimensions).
712LayerTestResult<float, 4> ResizeBilinearMagTest(
713 armnn::IWorkloadFactory& workloadFactory,
714 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000715 const armnn::DataLayout dataLayout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000716
Mohamed Nour Abouelseouda1d3c6a2018-12-27 12:39:16 +0000717LayerTestResult<float, 2> Rsqrt2dTestCommon(
718 armnn::IWorkloadFactory& workloadFactory,
719 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
720 const armnn::TensorInfo inputTensorInfo,
721 const armnn::TensorInfo outputTensorInfo,
722 std::vector<float> inputValues,
723 std::vector<float> expectedOutputValues);
724
725LayerTestResult<float, 2> Rsqrt2dTest(
726 armnn::IWorkloadFactory& workloadFactory,
727 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
728
729LayerTestResult<float, 3> Rsqrt3dTest(
730 armnn::IWorkloadFactory& workloadFactory,
731 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
732
733LayerTestResult<float, 2> RsqrtZeroTest(
734 armnn::IWorkloadFactory& workloadFactory,
735 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
736
737LayerTestResult<float, 2> RsqrtNegativeTest(
738 armnn::IWorkloadFactory& workloadFactory,
739 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
740
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000741LayerTestResult<float, 4> BatchNormTest(
742 armnn::IWorkloadFactory& workloadFactory,
743 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
744
745LayerTestResult<float, 4> BatchNormNhwcTest(
746 armnn::IWorkloadFactory& workloadFactory,
747 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
748
749LayerTestResult<float, 2> FakeQuantizationTest(
750 armnn::IWorkloadFactory& workloadFactory,
751 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
752
753LayerTestResult<float, 4> L2Normalization1dTest(
754 armnn::IWorkloadFactory& workloadFactory,
755 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000756 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000757
758LayerTestResult<float, 4> L2Normalization2dTest(
759 armnn::IWorkloadFactory& workloadFactory,
760 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000761 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000762
763LayerTestResult<float, 4> L2Normalization3dTest(
764 armnn::IWorkloadFactory& workloadFactory,
765 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000766 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000767
768LayerTestResult<float, 4> L2Normalization4dTest(
769 armnn::IWorkloadFactory& workloadFactory,
770 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Matthew Bentham8800c002018-11-19 13:19:28 +0000771 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000772
773LayerTestResult<float, 4> ConstantTest(
774 armnn::IWorkloadFactory& workloadFactory,
775 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
776
777LayerTestResult<uint8_t, 4> ConstantTestUint8(
778 armnn::IWorkloadFactory& workloadFactory,
779 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
780
781LayerTestResult<uint8_t, 4> BoundedReLuUint8Test(
782 armnn::IWorkloadFactory& workloadFactory,
783 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
784 float upperBound);
785
786LayerTestResult<uint8_t, 4> BoundedReLuUint8Test(
787 armnn::IWorkloadFactory& workloadFactory,
788 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
789 float upperBound,
790 float lowerBound);
791
792LayerTestResult<uint8_t, 2> FullyConnectedUint8Test(
793 armnn::IWorkloadFactory& workloadFactory,
794 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
795 bool biasEnabled);
796
797std::vector<LayerTestResult<uint8_t, 3>> SplitterUint8Test(
798 armnn::IWorkloadFactory& workloadFactory,
799 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
800
801LayerTestResult<uint8_t, 3> CopyViaSplitterUint8Test(
802 armnn::IWorkloadFactory& workloadFactory,
803 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
804
805LayerTestResult<uint8_t, 3> MergerUint8Test(
806 armnn::IWorkloadFactory& workloadFactory,
807 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
808
Ferran Balaguerb2845652019-02-27 09:42:06 +0000809LayerTestResult<uint8_t, 3> MergerUint8DifferentQParamsTest(
810 armnn::IWorkloadFactory& workloadFactory,
811 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
812
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000813LayerTestResult<uint8_t, 4> AdditionUint8Test(
814 armnn::IWorkloadFactory& workloadFactory,
815 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
816
817LayerTestResult<uint8_t, 4> AdditionBroadcast1ElementUint8Test(
818 armnn::IWorkloadFactory& workloadFactory,
819 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
820
821LayerTestResult<uint8_t, 4> AdditionBroadcastUint8Test(
822 armnn::IWorkloadFactory& workloadFactory,
823 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
824
Sadik Armagan2999a022019-04-09 14:20:12 +0100825LayerTestResult<int16_t, 4> AdditionInt16Test(
826 armnn::IWorkloadFactory& workloadFactory,
827 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
828
829LayerTestResult<int16_t, 4> AdditionBroadcastInt16Test(
830 armnn::IWorkloadFactory& workloadFactory,
831 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
832
833LayerTestResult<int16_t, 4> AdditionBroadcast1ElementInt16Test(
834 armnn::IWorkloadFactory& workloadFactory,
835 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
836
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000837LayerTestResult<uint8_t, 4> SubtractionUint8Test(
838 armnn::IWorkloadFactory& workloadFactory,
839 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
840
841LayerTestResult<uint8_t, 4> SubtractionBroadcast1ElementUint8Test(
842 armnn::IWorkloadFactory& workloadFactory,
843 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
844
845LayerTestResult<uint8_t, 4> SubtractionBroadcastUint8Test(
846 armnn::IWorkloadFactory& workloadFactory,
847 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
848
Sadik Armagan2999a022019-04-09 14:20:12 +0100849LayerTestResult<int16_t, 4> SubtractionInt16Test(
850 armnn::IWorkloadFactory& workloadFactory,
851 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
852
853LayerTestResult<int16_t, 4> SubtractionBroadcast1ElementInt16Test(
854 armnn::IWorkloadFactory& workloadFactory,
855 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
856
857LayerTestResult<int16_t, 4> SubtractionBroadcastInt16Test(
858 armnn::IWorkloadFactory& workloadFactory,
859 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
860
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000861LayerTestResult<uint8_t, 4> CompareActivationUint8Test(
862 armnn::IWorkloadFactory& workloadFactory,
863 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
864 armnn::IWorkloadFactory& refWorkloadFactory,
865 armnn::ActivationFunction f);
866
Teresa Charlin18515e22019-04-24 10:17:46 +0100867LayerTestResult<int16_t, 4> CompareActivationInt16Test(
868 armnn::IWorkloadFactory& workloadFactory,
869 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
870 armnn::IWorkloadFactory& refWorkloadFactory,
871 armnn::ActivationFunction f);
872
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000873LayerTestResult<uint8_t, 2> CompareSoftmaxUint8Test(
874 armnn::IWorkloadFactory& workloadFactory,
875 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
876 armnn::IWorkloadFactory& refWorkloadFactory,
877 float beta);
878
879LayerTestResult<uint8_t, 4> MultiplicationUint8Test(
880 armnn::IWorkloadFactory& workloadFactory,
881 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
882
883LayerTestResult<uint8_t, 4> MultiplicationBroadcast1ElementUint8Test(
884 armnn::IWorkloadFactory& workloadFactory,
885 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
886
887LayerTestResult<uint8_t, 4> MultiplicationBroadcast1DVectorUint8Test(
888 armnn::IWorkloadFactory& workloadFactory,
889 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
890
Sadik Armagan2999a022019-04-09 14:20:12 +0100891LayerTestResult<int16_t, 4> MultiplicationInt16Test(
892 armnn::IWorkloadFactory& workloadFactory,
893 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
894
895LayerTestResult<int16_t, 4> MultiplicationBroadcast1ElementInt16Test(
896 armnn::IWorkloadFactory& workloadFactory,
897 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
898
899LayerTestResult<int16_t, 4> MultiplicationBroadcast1DVectorInt16Test(
900 armnn::IWorkloadFactory& workloadFactory,
901 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
902
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000903LayerTestResult<uint8_t, 4> DivisionUint8Test(
904 armnn::IWorkloadFactory& workloadFactory,
905 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
906
907LayerTestResult<uint8_t, 4> DivisionBroadcast1ElementUint8Test(
908 armnn::IWorkloadFactory& workloadFactory,
909 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
910
911LayerTestResult<uint8_t, 4> DivisionBroadcast1DVectorUint8Test(
912 armnn::IWorkloadFactory& workloadFactory,
913 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
914
Sadik Armagan2999a022019-04-09 14:20:12 +0100915LayerTestResult<int16_t, 4> DivisionInt16Test(
916 armnn::IWorkloadFactory& workloadFactory,
917 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
918
919LayerTestResult<int16_t, 4> DivisionBroadcast1ElementInt16Test(
920 armnn::IWorkloadFactory& workloadFactory,
921 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
922
923LayerTestResult<int16_t, 4> DivisionBroadcast1DVectorInt16Test(
924 armnn::IWorkloadFactory& workloadFactory,
925 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
926
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000927LayerTestResult<uint8_t, 4> SimpleConvolution2d3x5Uint8Test(
928 armnn::IWorkloadFactory& workloadFactory,
929 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
930 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000931 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000932
933LayerTestResult<uint8_t, 4> SimpleConvolution2d3x3Uint8Test(
934 armnn::IWorkloadFactory& workloadFactory,
935 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
936 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000937 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000938
939LayerTestResult<uint8_t, 4> DepthwiseConvolution2dUint8Test(
940 armnn::IWorkloadFactory& workloadFactory,
941 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
942 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000943 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000944
945LayerTestResult<uint8_t, 4> DepthwiseConvolution2dDepthMul1Uint8Test(
946 armnn::IWorkloadFactory& workloadFactory,
947 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
948 bool biasEnabled,
Matthew Bentham8800c002018-11-19 13:19:28 +0000949 const armnn::DataLayout layout);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000950
951LayerTestResult<uint8_t, 4> ConstantLinearActivationUint8Test(
952 armnn::IWorkloadFactory& workloadFactory,
953 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
954
Teresa Charlin18515e22019-04-24 10:17:46 +0100955LayerTestResult<int16_t, 4> ConstantLinearActivationInt16Test(
956 armnn::IWorkloadFactory& workloadFactory,
957 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
958
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +0000959LayerTestResult<uint8_t, 4> ResizeBilinearNopUint8Test(
960 armnn::IWorkloadFactory& workloadFactory,
961 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
962
963LayerTestResult<uint8_t, 4> SimpleResizeBilinearUint8Test(
964 armnn::IWorkloadFactory& workloadFactory,
965 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
966
967LayerTestResult<uint8_t, 4> ResizeBilinearSqMinUint8Test(
968 armnn::IWorkloadFactory& workloadFactory,
969 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
970
971LayerTestResult<uint8_t, 4> ResizeBilinearMinUint8Test(
972 armnn::IWorkloadFactory& workloadFactory,
973 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
974
975LayerTestResult<uint8_t, 4> ResizeBilinearMagUint8Test(
976 armnn::IWorkloadFactory& workloadFactory,
977 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
978
979LayerTestResult<uint8_t, 4> BatchNormUint8Test(
980 armnn::IWorkloadFactory& workloadFactory,
981 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
982
983LayerTestResult<uint8_t, 4> BatchNormUint8NhwcTest(
984 armnn::IWorkloadFactory& workloadFactory,
985 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
986
987LayerTestResult<uint8_t, 4> ConstantUint8Test(
988 armnn::IWorkloadFactory& workloadFactory,
989 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
990
991LayerTestResult<uint8_t, 1> Concatenation1dUint8Test(
992 armnn::IWorkloadFactory& workloadFactory,
993 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
994
995LayerTestResult<uint8_t, 2> Concatenation2dDim0Uint8Test(
996 armnn::IWorkloadFactory& workloadFactory,
997 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
998
999LayerTestResult<uint8_t, 2> Concatenation2dDim1Uint8Test(
1000 armnn::IWorkloadFactory& workloadFactory,
1001 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1002
1003LayerTestResult<uint8_t, 2> Concatenation2dDim0DiffInputDimsUint8Test(
1004 armnn::IWorkloadFactory& workloadFactory,
1005 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1006
1007LayerTestResult<uint8_t, 2> Concatenation2dDim1DiffInputDimsUint8Test(
1008 armnn::IWorkloadFactory& workloadFactory,
1009 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1010
1011LayerTestResult<uint8_t, 3> Concatenation3dDim0Uint8Test(
1012 armnn::IWorkloadFactory& workloadFactory,
1013 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1014
1015LayerTestResult<uint8_t, 3> Concatenation3dDim1Uint8Test(
1016 armnn::IWorkloadFactory& workloadFactory,
1017 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1018
1019LayerTestResult<uint8_t, 3> Concatenation3dDim2Uint8Test(
1020 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +00001021 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
1022 bool useSubtensor);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001023
1024LayerTestResult<uint8_t, 3> Concatenation3dDim0DiffInputDimsUint8Test(
1025 armnn::IWorkloadFactory& workloadFactory,
1026 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1027
1028LayerTestResult<uint8_t, 3> Concatenation3dDim1DiffInputDimsUint8Test(
1029 armnn::IWorkloadFactory& workloadFactory,
1030 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1031
1032LayerTestResult<uint8_t, 3> Concatenation3dDim2DiffInputDimsUint8Test(
1033 armnn::IWorkloadFactory& workloadFactory,
narpra015cdda352018-11-19 15:30:27 +00001034 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
1035 bool useSubtensor);
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001036
kevmay012b4d88e2019-01-24 14:05:09 +00001037LayerTestResult<uint8_t, 4> EqualSimpleTest(
FrancisMurtagh30cdfca2018-12-18 12:57:35 +00001038 armnn::IWorkloadFactory& workloadFactory,
1039 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1040
kevmay012b4d88e2019-01-24 14:05:09 +00001041LayerTestResult<uint8_t, 4> EqualBroadcast1ElementTest(
FrancisMurtagh30cdfca2018-12-18 12:57:35 +00001042 armnn::IWorkloadFactory& workloadFactory,
1043 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1044
kevmay012b4d88e2019-01-24 14:05:09 +00001045LayerTestResult<uint8_t, 4> EqualBroadcast1DVectorTest(
FrancisMurtagh30cdfca2018-12-18 12:57:35 +00001046 armnn::IWorkloadFactory& workloadFactory,
1047 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1048
1049LayerTestResult<uint8_t, 4> EqualUint8Test(
1050 armnn::IWorkloadFactory& workloadFactory,
1051 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1052
1053LayerTestResult<uint8_t, 4> EqualBroadcast1ElementUint8Test(
1054 armnn::IWorkloadFactory& workloadFactory,
1055 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1056
1057LayerTestResult<uint8_t, 4> EqualBroadcast1DVectorUint8Test(
1058 armnn::IWorkloadFactory& workloadFactory,
1059 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1060
kevmay012b4d88e2019-01-24 14:05:09 +00001061LayerTestResult<uint8_t, 4> GreaterSimpleTest(
FrancisMurtagh878f0232018-12-19 10:56:15 +00001062 armnn::IWorkloadFactory& workloadFactory,
1063 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1064
kevmay012b4d88e2019-01-24 14:05:09 +00001065LayerTestResult<uint8_t, 4> GreaterBroadcast1ElementTest(
FrancisMurtagh878f0232018-12-19 10:56:15 +00001066 armnn::IWorkloadFactory& workloadFactory,
1067 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1068
kevmay012b4d88e2019-01-24 14:05:09 +00001069LayerTestResult<uint8_t, 4> GreaterBroadcast1DVectorTest(
FrancisMurtagh878f0232018-12-19 10:56:15 +00001070 armnn::IWorkloadFactory& workloadFactory,
1071 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1072
1073LayerTestResult<uint8_t, 4> GreaterUint8Test(
1074 armnn::IWorkloadFactory& workloadFactory,
1075 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1076
1077LayerTestResult<uint8_t, 4> GreaterBroadcast1ElementUint8Test(
1078 armnn::IWorkloadFactory& workloadFactory,
1079 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1080
1081LayerTestResult<uint8_t, 4> GreaterBroadcast1DVectorUint8Test(
1082 armnn::IWorkloadFactory& workloadFactory,
1083 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1084
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001085LayerTestResult<float, 2> FullyConnectedLargeTest(
1086 armnn::IWorkloadFactory& workloadFactory,
1087 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
1088 bool transposeWeights);
1089
1090LayerTestResult<float, 4> SimplePermuteFloat32Test(
1091 armnn::IWorkloadFactory& workloadFactory,
1092 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1093
1094LayerTestResult<uint8_t, 4> SimplePermuteUint8Test(
1095 armnn::IWorkloadFactory& workloadFactory,
1096 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1097
1098LayerTestResult<uint8_t, 2> PadUint82dTest(
1099 armnn::IWorkloadFactory& workloadFactory,
1100 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1101
1102LayerTestResult<uint8_t, 3> PadUint83dTest(
1103 armnn::IWorkloadFactory& workloadFactory,
1104 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1105
1106LayerTestResult<uint8_t, 4> PadUint84dTest(
1107 armnn::IWorkloadFactory& workloadFactory,
1108 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1109
1110LayerTestResult<float, 2> PadFloat322dTest(
1111 armnn::IWorkloadFactory& workloadFactory,
1112 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1113
1114LayerTestResult<float, 3> PadFloat323dTest(
1115 armnn::IWorkloadFactory& workloadFactory,
1116 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1117
1118LayerTestResult<float, 4> PadFloat324dTest(
1119 armnn::IWorkloadFactory& workloadFactory,
1120 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1121
1122LayerTestResult<float, 4> PermuteFloat32ValueSet1Test(
1123 armnn::IWorkloadFactory& workloadFactory,
1124 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1125
1126LayerTestResult<float, 4> PermuteFloat32ValueSet2Test(
1127 armnn::IWorkloadFactory& workloadFactory,
1128 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1129
1130LayerTestResult<float, 4> PermuteFloat32ValueSet3Test(
1131 armnn::IWorkloadFactory& workloadFactory,
1132 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1133
1134LayerTestResult<float, 2> LstmLayerFloat32WithCifgWithPeepholeNoProjectionTest(
1135 armnn::IWorkloadFactory& workloadFactory,
1136 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1137
1138LayerTestResult<float, 2> LstmLayerFloat32NoCifgNoPeepholeNoProjectionTest(
1139 armnn::IWorkloadFactory& workloadFactory,
1140 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1141
1142LayerTestResult<float, 2> LstmLayerFloat32NoCifgWithPeepholeWithProjectionTest(
1143 armnn::IWorkloadFactory& workloadFactory,
1144 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1145
Conor Kennedyb9971c92019-05-07 07:14:23 +01001146LayerTestResult<int16_t, 2> LstmLayerInt16NoCifgNoPeepholeNoProjectionTest(
1147 armnn::IWorkloadFactory& workloadFactory,
1148 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1149
1150LayerTestResult<int16_t, 2> LstmLayerInt16WithCifgWithPeepholeNoProjectionTest(
1151 armnn::IWorkloadFactory& workloadFactory,
1152 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1153
1154LayerTestResult<int16_t, 2> LstmLayerInt16NoCifgWithPeepholeWithProjectionTest(
1155 armnn::IWorkloadFactory& workloadFactory,
1156 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1157
1158LayerTestResult<int16_t, 2> LstmLayerInt16NoCifgNoPeepholeNoProjectionInt16ConstantTest(
1159 armnn::IWorkloadFactory& workloadFactory,
1160 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1161
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001162LayerTestResult<float, 4> SimpleConvertFp16ToFp32Test(
1163 armnn::IWorkloadFactory& workloadFactory,
1164 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1165
1166LayerTestResult<armnn::Half, 4> SimpleConvertFp32ToFp16Test(
1167 armnn::IWorkloadFactory& workloadFactory,
1168 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1169
Éanna Ó Catháinde705582018-12-03 13:04:22 +00001170LayerTestResult<float, 4> MaximumSimpleTest(
1171 armnn::IWorkloadFactory& workloadFactory,
1172 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1173
1174LayerTestResult<float, 4> MaximumBroadcast1ElementTest(
1175 armnn::IWorkloadFactory& workloadFactory,
1176 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1177
1178LayerTestResult<float, 4> MaximumBroadcast1DVectorTest(
1179 armnn::IWorkloadFactory& workloadFactory,
1180 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1181
1182LayerTestResult<uint8_t , 4> MaximumUint8Test(
1183 armnn::IWorkloadFactory& workloadFactory,
1184 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1185
1186LayerTestResult<uint8_t, 4> MaximumBroadcast1ElementUint8Test(
1187 armnn::IWorkloadFactory& workloadFactory,
1188 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1189
1190LayerTestResult<uint8_t, 4> MaximumBroadcast1DVectorUint8Test(
1191 armnn::IWorkloadFactory& workloadFactory,
1192 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1193
Sadik Armagan2999a022019-04-09 14:20:12 +01001194LayerTestResult<int16_t , 4> MaximumInt16Test(
1195 armnn::IWorkloadFactory& workloadFactory,
1196 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1197
1198LayerTestResult<int16_t, 4> MaximumBroadcast1ElementInt16Test(
1199 armnn::IWorkloadFactory& workloadFactory,
1200 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1201
1202LayerTestResult<int16_t, 4> MaximumBroadcast1DVectorInt16Test(
1203 armnn::IWorkloadFactory& workloadFactory,
1204 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1205
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001206LayerTestResult<uint8_t, 1> MeanUint8SimpleTest(
1207 armnn::IWorkloadFactory& workloadFactory,
1208 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1209
1210LayerTestResult<uint8_t, 3> MeanUint8SimpleAxisTest(
1211 armnn::IWorkloadFactory& workloadFactory,
1212 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1213
1214LayerTestResult<uint8_t, 4> MeanUint8KeepDimsTest(
1215 armnn::IWorkloadFactory& workloadFactory,
1216 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1217
1218LayerTestResult<uint8_t, 4> MeanUint8MultipleDimsTest(
1219 armnn::IWorkloadFactory& workloadFactory,
1220 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1221
1222LayerTestResult<uint8_t, 1> MeanVtsUint8Test(
1223 armnn::IWorkloadFactory& workloadFactory,
1224 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1225
1226LayerTestResult<float, 1> MeanFloatSimpleTest(
1227 armnn::IWorkloadFactory& workloadFactory,
1228 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1229
1230LayerTestResult<float, 3> MeanFloatSimpleAxisTest(
1231 armnn::IWorkloadFactory& workloadFactory,
1232 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1233
1234LayerTestResult<float, 4> MeanFloatKeepDimsTest(
1235 armnn::IWorkloadFactory& workloadFactory,
1236 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1237
1238LayerTestResult<float, 4> MeanFloatMultipleDimsTest(
1239 armnn::IWorkloadFactory& workloadFactory,
1240 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1241
1242LayerTestResult<float, 1> MeanVtsFloat1Test(
1243 armnn::IWorkloadFactory& workloadFactory,
1244 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1245
1246LayerTestResult<float, 3> MeanVtsFloat2Test(
1247 armnn::IWorkloadFactory& workloadFactory,
1248 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1249
1250LayerTestResult<float, 3> MeanVtsFloat3Test(
1251 armnn::IWorkloadFactory& workloadFactory,
1252 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1253
Éanna Ó Catháin20e58802018-12-04 10:29:06 +00001254LayerTestResult<float, 4> MinimumBroadcast1ElementTest1(
1255 armnn::IWorkloadFactory& workloadFactory,
1256 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1257
1258LayerTestResult<float, 4> MinimumBroadcast1ElementTest2(
1259 armnn::IWorkloadFactory& workloadFactory,
1260 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1261
1262LayerTestResult<uint8_t, 4> MinimumBroadcast1DVectorUint8Test(
1263 armnn::IWorkloadFactory & workloadFactory,
1264 const armnn::IBackendInternal::IMemoryManagerSharedPtr & memoryManager);
1265
Sadik Armagan2999a022019-04-09 14:20:12 +01001266LayerTestResult<int16_t , 4> MinimumInt16Test(
1267 armnn::IWorkloadFactory& workloadFactory,
1268 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1269
1270LayerTestResult<int16_t, 4> MinimumBroadcast1ElementInt16Test(
1271 armnn::IWorkloadFactory& workloadFactory,
1272 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1273
1274LayerTestResult<int16_t, 4> MinimumBroadcast1DVectorInt16Test(
1275 armnn::IWorkloadFactory& workloadFactory,
1276 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1277
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001278LayerTestResult<float, 4> AdditionAfterMaxPoolTest(
1279 armnn::IWorkloadFactory& workloadFactory,
1280 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1281
1282LayerTestResult<float, 4> SpaceToBatchNdSimpleFloat32Test(
1283 armnn::IWorkloadFactory& workloadFactory,
1284 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1285
1286LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsFloat32Test(
1287 armnn::IWorkloadFactory& workloadFactory,
1288 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1289
1290LayerTestResult<float, 4> SpaceToBatchNdMultiBlockFloat32Test(
1291 armnn::IWorkloadFactory& workloadFactory,
1292 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1293
1294LayerTestResult<float, 4> SpaceToBatchNdPaddingFloat32Test(
1295 armnn::IWorkloadFactory& workloadFactory,
1296 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1297
1298LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleUint8Test(
1299 armnn::IWorkloadFactory& workloadFactory,
1300 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1301
1302LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsUint8Test(
1303 armnn::IWorkloadFactory& workloadFactory,
1304 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1305
1306LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockUint8Test(
1307 armnn::IWorkloadFactory& workloadFactory,
1308 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1309
1310LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingUint8Test(
1311 armnn::IWorkloadFactory& workloadFactory,
1312 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1313
1314LayerTestResult<float, 4> SpaceToBatchNdSimpleNHWCFloat32Test(
1315 armnn::IWorkloadFactory& workloadFactory,
1316 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1317
1318LayerTestResult<float, 4> SpaceToBatchNdMultiChannelsNHWCFloat32Test(
1319 armnn::IWorkloadFactory& workloadFactory,
1320 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1321
1322LayerTestResult<float, 4> SpaceToBatchNdMultiBlockNHWCFloat32Test(
1323 armnn::IWorkloadFactory& workloadFactory,
1324 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1325
1326LayerTestResult<float, 4> SpaceToBatchNdPaddingNHWCFloat32Test(
1327 armnn::IWorkloadFactory& workloadFactory,
1328 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1329
1330LayerTestResult<uint8_t, 4> SpaceToBatchNdSimpleNHWCUint8Test(
1331 armnn::IWorkloadFactory& workloadFactory,
1332 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1333
1334LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiChannelsNHWCUint8Test(
1335 armnn::IWorkloadFactory& workloadFactory,
1336 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1337
1338LayerTestResult<uint8_t, 4> SpaceToBatchNdMultiBlockNHWCUint8Test(
1339 armnn::IWorkloadFactory& workloadFactory,
1340 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1341
1342LayerTestResult<uint8_t, 4> SpaceToBatchNdPaddingNHWCUint8Test(
1343 armnn::IWorkloadFactory& workloadFactory,
1344 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1345
1346LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test1(
1347 armnn::IWorkloadFactory& workloadFactory,
1348 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1349
1350LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test2(
1351 armnn::IWorkloadFactory& workloadFactory,
1352 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1353
1354LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test3(
1355 armnn::IWorkloadFactory& workloadFactory,
1356 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1357
Nattapat Chaimanowong3ee14222019-02-27 10:28:09 +00001358LayerTestResult<float, 4> BatchToSpaceNdNhwcFloat32Test4(
1359 armnn::IWorkloadFactory& workloadFactory,
1360 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1361
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001362LayerTestResult<float, 4> BatchToSpaceNdNchwFloat32Test1(
1363 armnn::IWorkloadFactory &workloadFactory,
1364 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1365
Mike Kelly831faed2018-11-28 11:52:08 +00001366LayerTestResult<float, 4> BatchToSpaceNdNchwFloat32Test2(
Nattapat Chaimanowong3ee14222019-02-27 10:28:09 +00001367 armnn::IWorkloadFactory &workloadFactory,
1368 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mike Kelly831faed2018-11-28 11:52:08 +00001369
1370LayerTestResult<float, 4> BatchToSpaceNdNchwFloat32Test3(
Nattapat Chaimanowong3ee14222019-02-27 10:28:09 +00001371 armnn::IWorkloadFactory &workloadFactory,
1372 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mike Kelly831faed2018-11-28 11:52:08 +00001373
Aron Virginas-Tar5caf9072018-11-14 18:35:18 +00001374LayerTestResult<uint8_t, 4> BatchToSpaceNdNhwcUintTest1(
1375 armnn::IWorkloadFactory &workloadFactory,
1376 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001377
Mike Kelly831faed2018-11-28 11:52:08 +00001378LayerTestResult<uint8_t, 4> BatchToSpaceNdNhwcUintTest2(
Nattapat Chaimanowong3ee14222019-02-27 10:28:09 +00001379 armnn::IWorkloadFactory &workloadFactory,
1380 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mike Kelly831faed2018-11-28 11:52:08 +00001381
1382LayerTestResult<uint8_t, 4> BatchToSpaceNdNhwcUintTest3(
Nattapat Chaimanowong3ee14222019-02-27 10:28:09 +00001383 armnn::IWorkloadFactory &workloadFactory,
1384 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mike Kelly831faed2018-11-28 11:52:08 +00001385
1386LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest1(
Nattapat Chaimanowong3ee14222019-02-27 10:28:09 +00001387 armnn::IWorkloadFactory &workloadFactory,
1388 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mike Kelly831faed2018-11-28 11:52:08 +00001389
1390LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest2(
Nattapat Chaimanowong3ee14222019-02-27 10:28:09 +00001391 armnn::IWorkloadFactory &workloadFactory,
1392 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mike Kelly831faed2018-11-28 11:52:08 +00001393
1394LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest3(
Nattapat Chaimanowong3ee14222019-02-27 10:28:09 +00001395 armnn::IWorkloadFactory &workloadFactory,
1396 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1397
1398LayerTestResult<uint8_t, 4> BatchToSpaceNdNchwUintTest4(
1399 armnn::IWorkloadFactory &workloadFactory,
1400 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Mike Kelly831faed2018-11-28 11:52:08 +00001401
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001402LayerTestResult<float, 4> StridedSlice4DFloat32Test(
1403 armnn::IWorkloadFactory& workloadFactory,
1404 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowongcfdcadf2018-12-06 11:54:33 +00001405
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +00001406LayerTestResult<float, 4> StridedSlice4DReverseFloat32Test(
1407 armnn::IWorkloadFactory& workloadFactory,
1408 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1409
1410LayerTestResult<float, 4> StridedSliceSimpleStrideFloat32Test(
1411 armnn::IWorkloadFactory& workloadFactory,
1412 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1413
1414LayerTestResult<float, 4> StridedSliceSimpleRangeMaskFloat32Test(
1415 armnn::IWorkloadFactory& workloadFactory,
1416 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1417
1418LayerTestResult<float, 2> StridedSliceShrinkAxisMaskFloat32Test(
1419 armnn::IWorkloadFactory& workloadFactory,
1420 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1421
1422LayerTestResult<float, 3> StridedSlice3DFloat32Test(
1423 armnn::IWorkloadFactory& workloadFactory,
1424 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1425
1426LayerTestResult<float, 3> StridedSlice3DReverseFloat32Test(
1427 armnn::IWorkloadFactory& workloadFactory,
1428 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1429
1430LayerTestResult<float, 2> StridedSlice2DFloat32Test(
1431 armnn::IWorkloadFactory& workloadFactory,
1432 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1433
1434LayerTestResult<float, 2> StridedSlice2DReverseFloat32Test(
1435 armnn::IWorkloadFactory& workloadFactory,
1436 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1437
1438LayerTestResult<uint8_t, 4> StridedSlice4DUint8Test(
1439 armnn::IWorkloadFactory& workloadFactory,
1440 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1441
1442LayerTestResult<uint8_t, 4> StridedSlice4DReverseUint8Test(
1443 armnn::IWorkloadFactory& workloadFactory,
1444 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1445
1446LayerTestResult<uint8_t, 4> StridedSliceSimpleStrideUint8Test(
1447 armnn::IWorkloadFactory& workloadFactory,
1448 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1449
1450LayerTestResult<uint8_t, 4> StridedSliceSimpleRangeMaskUint8Test(
1451 armnn::IWorkloadFactory& workloadFactory,
1452 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1453
1454LayerTestResult<uint8_t, 2> StridedSliceShrinkAxisMaskUint8Test(
1455 armnn::IWorkloadFactory& workloadFactory,
1456 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1457
1458LayerTestResult<uint8_t, 3> StridedSlice3DUint8Test(
1459 armnn::IWorkloadFactory& workloadFactory,
1460 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1461
1462LayerTestResult<uint8_t, 3> StridedSlice3DReverseUint8Test(
1463 armnn::IWorkloadFactory& workloadFactory,
1464 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1465
1466LayerTestResult<uint8_t, 2> StridedSlice2DUint8Test(
1467 armnn::IWorkloadFactory& workloadFactory,
1468 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1469
1470LayerTestResult<uint8_t, 2> StridedSlice2DReverseUint8Test(
1471 armnn::IWorkloadFactory& workloadFactory,
1472 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowongcfdcadf2018-12-06 11:54:33 +00001473
1474LayerTestResult<float, 4> Debug4DFloat32Test(
1475 armnn::IWorkloadFactory& workloadFactory,
1476 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1477
1478LayerTestResult<float, 3> Debug3DFloat32Test(
1479 armnn::IWorkloadFactory& workloadFactory,
1480 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1481
1482LayerTestResult<float, 2> Debug2DFloat32Test(
1483 armnn::IWorkloadFactory& workloadFactory,
1484 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1485
1486LayerTestResult<float, 1> Debug1DFloat32Test(
1487 armnn::IWorkloadFactory& workloadFactory,
1488 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1489
1490LayerTestResult<uint8_t, 4> Debug4DUint8Test(
1491 armnn::IWorkloadFactory& workloadFactory,
1492 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1493
1494LayerTestResult<uint8_t, 3> Debug3DUint8Test(
1495 armnn::IWorkloadFactory& workloadFactory,
1496 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1497
1498LayerTestResult<uint8_t, 2> Debug2DUint8Test(
1499 armnn::IWorkloadFactory& workloadFactory,
1500 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1501
1502LayerTestResult<uint8_t, 1> Debug1DUint8Test(
1503 armnn::IWorkloadFactory& workloadFactory,
1504 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Matteo Martincigh49124022019-01-11 13:25:59 +00001505
1506LayerTestResult<uint8_t, 4> PreCompiledConvolution2dTest(
1507 armnn::IWorkloadFactory& workloadFactory,
1508 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1509
1510LayerTestResult<uint8_t, 4> PreCompiledConvolution2dStride2x2Test(
1511 armnn::IWorkloadFactory& workloadFactory,
1512 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1513
1514LayerTestResult<uint8_t, 4> PreCompiledDepthwiseConvolution2dTest(
1515 armnn::IWorkloadFactory & workloadFactory,
1516 const armnn::IBackendInternal::IMemoryManagerSharedPtr & memoryManager);
1517
1518LayerTestResult<uint8_t, 4> PreCompiledDepthwiseConvolution2dStride2x2Test(
1519 armnn::IWorkloadFactory & workloadFactory,
1520 const armnn::IBackendInternal::IMemoryManagerSharedPtr & memoryManager);
1521
1522LayerTestResult<uint8_t, 4> PreCompiledMaxPooling2dTest(
1523 armnn::IWorkloadFactory& workloadFactory,
1524 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1525
1526LayerTestResult<float, 4> Debug4DFloat32Test(
1527 armnn::IWorkloadFactory& workloadFactory,
1528 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1529
1530LayerTestResult<float, 3> Debug3DFloat32Test(
1531 armnn::IWorkloadFactory& workloadFactory,
1532 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1533
1534LayerTestResult<float, 2> Debug2DFloat32Test(
1535 armnn::IWorkloadFactory& workloadFactory,
1536 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1537
1538LayerTestResult<float, 1> Debug1DFloat32Test(
1539 armnn::IWorkloadFactory& workloadFactory,
1540 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1541
1542LayerTestResult<uint8_t, 4> Debug4DUint8Test(
1543 armnn::IWorkloadFactory& workloadFactory,
1544 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1545
1546LayerTestResult<uint8_t, 3> Debug3DUint8Test(
1547 armnn::IWorkloadFactory& workloadFactory,
1548 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1549
1550LayerTestResult<uint8_t, 2> Debug2DUint8Test(
1551 armnn::IWorkloadFactory& workloadFactory,
1552 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1553
1554LayerTestResult<uint8_t, 1> Debug1DUint8Test(
1555 armnn::IWorkloadFactory& workloadFactory,
1556 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
narpra014951d842019-01-18 16:53:53 +00001557
1558LayerTestResult<float, 1> Gather1DParamsFloatTest(
1559 armnn::IWorkloadFactory& workloadFactory,
1560 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1561
1562LayerTestResult<uint8_t, 1> Gather1DParamsUint8Test(
1563 armnn::IWorkloadFactory& workloadFactory,
1564 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1565
1566LayerTestResult<float, 2> GatherMultiDimParamsFloatTest(
1567 armnn::IWorkloadFactory& workloadFactory,
1568 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1569
1570LayerTestResult<uint8_t, 2> GatherMultiDimParamsUint8Test(
1571 armnn::IWorkloadFactory& workloadFactory,
1572 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1573
1574LayerTestResult<float, 4> GatherMultiDimParamsMultiDimIndicesFloatTest(
1575 armnn::IWorkloadFactory& workloadFactory,
1576 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1577
1578LayerTestResult<uint8_t, 4> GatherMultiDimParamsMultiDimIndicesUint8Test(
1579 armnn::IWorkloadFactory& workloadFactory,
1580 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +00001581
Nattapat Chaimanowongafa4e3a2019-04-02 11:41:45 +01001582LayerTestResult<float, 4> DequantizeSimpleUint8Test(
1583 armnn::IWorkloadFactory& workloadFactory,
1584 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1585
1586LayerTestResult<float, 4> DequantizeOffsetUint8Test(
1587 armnn::IWorkloadFactory& workloadFactory,
1588 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1589
1590LayerTestResult<float, 4> DequantizeSimpleInt16Test(
Nattapat Chaimanowong8a54ac02019-03-29 15:25:04 +00001591 armnn::IWorkloadFactory& workloadFactory,
1592 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
Nattapat Chaimanowonga0beb3b2019-04-01 17:04:53 +01001593
1594LayerTestResult<uint8_t, 4> QuantizeSimpleUint8Test(
1595 armnn::IWorkloadFactory& workloadFactory,
1596 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1597
1598LayerTestResult<uint8_t, 4> QuantizeClampUint8Test(
1599 armnn::IWorkloadFactory& workloadFactory,
1600 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
1601
1602LayerTestResult<int16_t, 4> QuantizeClampInt16Test(
1603 armnn::IWorkloadFactory& workloadFactory,
1604 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);