blob: f17b6dfdb266201727342ae9ad97aa458d15add6 [file] [log] [blame]
Tamás Nyíri7b885b32021-10-26 14:47:57 +01001//
2// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Sadik Armagana097d2a2021-11-24 15:47:28 +00008#include <armnnTestUtils/LayerTestResult.hpp>
Tamás Nyíri7b885b32021-10-26 14:47:57 +01009
10#include <armnn/Types.hpp>
11
12#include <armnn/backends/IBackendInternal.hpp>
Colm Donelan0c479742021-12-10 12:43:54 +000013#include <armnn/backends/WorkloadFactory.hpp>
Tamás Nyíri7b885b32021-10-26 14:47:57 +010014
15LayerTestResult<float, 5> SimpleMaxPooling3dSize2x2x2Stride1x1x1Test(
16 armnn::IWorkloadFactory& workloadFactory,
17 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +000018 const armnn::ITensorHandleFactory& tensorHandleFactory,
19 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +010020
21LayerTestResult<uint8_t, 5>SimpleMaxPooling3dSize2x2x2Stride1x1x1Uint8Test(
22 armnn::IWorkloadFactory& workloadFactory,
23 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +000024 const armnn::ITensorHandleFactory& tensorHandleFactory,
25 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +010026
27LayerTestResult<int16_t, 5> SimpleMaxPooling3dSize2x2x2Stride1x1x1Int16Test(
28 armnn::IWorkloadFactory& workloadFactory,
29 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +000030 const armnn::ITensorHandleFactory& tensorHandleFactory,
31 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +010032
33LayerTestResult<float, 5> SimpleMaxPooling3dTest(
34 armnn::IWorkloadFactory& workloadFactory,
35 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
36 const armnn::ITensorHandleFactory& tensorHandleFactory,
37 const armnn::DataLayout dataLayout);
38
39LayerTestResult<uint8_t, 5> SimpleMaxPooling3dUint8Test(
40 armnn::IWorkloadFactory& workloadFactory,
41 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
42 const armnn::ITensorHandleFactory& tensorHandleFactory,
43 const armnn::DataLayout dataLayout);
44
45LayerTestResult<int16_t, 5> SimpleMaxPooling3dInt16Test(
46 armnn::IWorkloadFactory& workloadFactory,
47 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
48 const armnn::ITensorHandleFactory& tensorHandleFactory,
49 const armnn::DataLayout dataLayout);
50
51LayerTestResult<float, 5> IgnorePaddingSimpleMaxPooling3dTest(
52 armnn::IWorkloadFactory& workloadFactory,
53 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +000054 const armnn::ITensorHandleFactory& tensorHandleFactory,
55 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +010056
57LayerTestResult<uint8_t, 5> IgnorePaddingSimpleMaxPooling3dUint8Test(
58 armnn::IWorkloadFactory& workloadFactory,
59 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +000060 const armnn::ITensorHandleFactory& tensorHandleFactory,
61 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +010062
63LayerTestResult<int16_t, 5> IgnorePaddingSimpleMaxPooling3dInt16Test(
64 armnn::IWorkloadFactory& workloadFactory,
65 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +000066 const armnn::ITensorHandleFactory& tensorHandleFactory,
67 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +010068
69LayerTestResult<float, 5> SimpleAveragePooling3dTest(
70 armnn::IWorkloadFactory& workloadFactory,
71 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
72 const armnn::ITensorHandleFactory& tensorHandleFactory,
73 const armnn::DataLayout dataLayout);
74
75LayerTestResult<uint8_t, 5> SimpleAveragePooling3dUint8Test(
76 armnn::IWorkloadFactory& workloadFactory,
77 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
78 const armnn::ITensorHandleFactory& tensorHandleFactory,
79 const armnn::DataLayout dataLayout);
80
81LayerTestResult<int16_t, 5> SimpleAveragePooling3dInt16Test(
82 armnn::IWorkloadFactory& workloadFactory,
83 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
84 const armnn::ITensorHandleFactory& tensorHandleFactory,
85 const armnn::DataLayout dataLayout);
86
87LayerTestResult<float, 5> LargeTensorsAveragePooling3dTest(
88 armnn::IWorkloadFactory& workloadFactory,
89 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +000090 const armnn::ITensorHandleFactory& tensorHandleFactory,
91 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +010092
93LayerTestResult<uint8_t, 5> LargeTensorsAveragePooling3dUint8Test(
94 armnn::IWorkloadFactory& workloadFactory,
95 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +000096 const armnn::ITensorHandleFactory& tensorHandleFactory,
97 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +010098
99LayerTestResult<int16_t, 5> LargeTensorsAveragePooling3dInt16Test(
100 armnn::IWorkloadFactory& workloadFactory,
101 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000102 const armnn::ITensorHandleFactory& tensorHandleFactory,
103 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100104
105LayerTestResult<float, 5> IgnorePaddingSimpleAveragePooling3dTest(
106 armnn::IWorkloadFactory& workloadFactory,
107 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000108 const armnn::ITensorHandleFactory& tensorHandleFactory,
109 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100110
111LayerTestResult<uint8_t, 5> IgnorePaddingSimpleAveragePooling3dUint8Test(
112 armnn::IWorkloadFactory& workloadFactory,
113 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000114 const armnn::ITensorHandleFactory& tensorHandleFactory,
115 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100116
117LayerTestResult<int16_t, 5> IgnorePaddingSimpleAveragePooling3dInt16Test(
118 armnn::IWorkloadFactory& workloadFactory,
119 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000120 const armnn::ITensorHandleFactory& tensorHandleFactory,
121 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100122
123LayerTestResult<float, 5> SimpleL2Pooling3dTest(
124 armnn::IWorkloadFactory& workloadFactory,
125 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
126 const armnn::ITensorHandleFactory& tensorHandleFactory,
127 const armnn::DataLayout dataLayout);
128
129LayerTestResult<uint8_t, 5> SimpleL2Pooling3dUint8Test(
130 armnn::IWorkloadFactory& workloadFactory,
131 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
132 const armnn::ITensorHandleFactory& tensorHandleFactory,
133 const armnn::DataLayout dataLayout);
134
135LayerTestResult<int16_t, 5> SimpleL2Pooling3dInt16Test(
136 armnn::IWorkloadFactory& workloadFactory,
137 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
138 const armnn::ITensorHandleFactory& tensorHandleFactory,
139 const armnn::DataLayout dataLayout);
140
141LayerTestResult<float, 5> IgnorePaddingSimpleL2Pooling3dTest(
142 armnn::IWorkloadFactory& workloadFactory,
143 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000144 const armnn::ITensorHandleFactory& tensorHandleFactory,
145 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100146
147LayerTestResult<uint8_t, 5> IgnorePaddingSimpleL2Pooling3dUint8Test(
148 armnn::IWorkloadFactory& workloadFactory,
149 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000150 const armnn::ITensorHandleFactory& tensorHandleFactory,
151 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100152
153LayerTestResult<int16_t, 5> IgnorePaddingSimpleL2Pooling3dInt16Test(
154 armnn::IWorkloadFactory& workloadFactory,
155 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000156 const armnn::ITensorHandleFactory& tensorHandleFactory,
157 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100158
159LayerTestResult<float, 5> AsymmetricNonSquareMaxPooling3dTest(
160 armnn::IWorkloadFactory& workloadFactory,
161 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000162 const armnn::ITensorHandleFactory& tensorHandleFactory,
163 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100164
165LayerTestResult<uint8_t, 5> AsymmetricNonSquareMaxPooling3dUint8Test(
166 armnn::IWorkloadFactory& workloadFactory,
167 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000168 const armnn::ITensorHandleFactory& tensorHandleFactor,
169 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100170
171LayerTestResult<int16_t, 5> AsymmetricNonSquareMaxPooling3dInt16Test(
172 armnn::IWorkloadFactory& workloadFactory,
173 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000174 const armnn::ITensorHandleFactory& tensorHandleFactory,
175 const armnn::DataLayout dataLayout);
176
177LayerTestResult<float, 5> AsymmetricNonSquareMaxPooling3dWithPaddingOnlyPoolTest(
178 armnn::IWorkloadFactory& workloadFactory,
179 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
180 const armnn::ITensorHandleFactory& tensorHandleFactory,
181 const armnn::DataLayout dataLayout);
182
183LayerTestResult<uint8_t, 5> AsymmetricNonSquareMaxPooling3dWithPaddingOnlyPoolUint8Test(
184 armnn::IWorkloadFactory& workloadFactory,
185 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
186 const armnn::ITensorHandleFactory& tensorHandleFactor,
187 const armnn::DataLayout dataLayout);
188
189LayerTestResult<int16_t, 5> AsymmetricNonSquareMaxPooling3dWithPaddingOnlyPoolInt16Test(
190 armnn::IWorkloadFactory& workloadFactory,
191 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
192 const armnn::ITensorHandleFactory& tensorHandleFactory,
193 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100194
195LayerTestResult<float, 5> AsymmetricNonSquareAveragePooling3dTest(
196 armnn::IWorkloadFactory& workloadFactory,
197 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000198 const armnn::ITensorHandleFactory& tensorHandleFactory,
199 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100200
201LayerTestResult<uint8_t, 5> AsymmetricNonSquareAveragePooling3dUint8Test(
202 armnn::IWorkloadFactory& workloadFactory,
203 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000204 const armnn::ITensorHandleFactory& tensorHandleFactory,
205 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100206
207LayerTestResult<int16_t, 5> AsymmetricNonSquareAveragePooling3dInt16Test(
208 armnn::IWorkloadFactory& workloadFactory,
209 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000210 const armnn::ITensorHandleFactory& tensorHandleFactory,
211 const armnn::DataLayout dataLayout);
212
213LayerTestResult<float, 5> AsymmetricNonSquareAveragePooling3dWithPaddingOnlyPoolTest(
214 armnn::IWorkloadFactory& workloadFactory,
215 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
216 const armnn::ITensorHandleFactory& tensorHandleFactory,
217 const armnn::DataLayout dataLayout);
218
219LayerTestResult<uint8_t, 5> AsymmetricNonSquareAveragePooling3dWithPaddingOnlyPoolUint8Test(
220 armnn::IWorkloadFactory& workloadFactory,
221 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
222 const armnn::ITensorHandleFactory& tensorHandleFactory,
223 const armnn::DataLayout dataLayout);
224
225LayerTestResult<int16_t, 5> AsymmetricNonSquareAveragePooling3dWithPaddingOnlyPoolInt16Test(
226 armnn::IWorkloadFactory& workloadFactory,
227 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
228 const armnn::ITensorHandleFactory& tensorHandleFactory,
229 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100230
231LayerTestResult<float, 5> AsymmetricNonSquareL2Pooling3dTest(
232 armnn::IWorkloadFactory& workloadFactory,
233 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000234 const armnn::ITensorHandleFactory& tensorHandleFactory,
235 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100236
237LayerTestResult<uint8_t, 5> AsymmetricNonSquareL2Pooling3dUint8Test(
238 armnn::IWorkloadFactory& workloadFactory,
239 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000240 const armnn::ITensorHandleFactory& tensorHandleFactory,
241 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100242
243LayerTestResult<int16_t, 5> AsymmetricNonSquareL2Pooling3dInt16Test(
244 armnn::IWorkloadFactory& workloadFactory,
245 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000246 const armnn::ITensorHandleFactory& tensorHandleFactory,
247 const armnn::DataLayout dataLayout);
248
249LayerTestResult<float, 5> AsymmetricNonSquareL2Pooling3dWithPaddingOnlyPoolTest(
250 armnn::IWorkloadFactory& workloadFactory,
251 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
252 const armnn::ITensorHandleFactory& tensorHandleFactory,
253 const armnn::DataLayout dataLayout);
254
255LayerTestResult<uint8_t, 5> AsymmetricNonSquareL2Pooling3dWithPaddingOnlyPoolUint8Test(
256 armnn::IWorkloadFactory& workloadFactory,
257 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
258 const armnn::ITensorHandleFactory& tensorHandleFactory,
259 const armnn::DataLayout dataLayout);
260
261LayerTestResult<int16_t, 5> AsymmetricNonSquareL2Pooling3dWithPaddingOnlyPoolInt16Test(
262 armnn::IWorkloadFactory& workloadFactory,
263 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
264 const armnn::ITensorHandleFactory& tensorHandleFactory,
265 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100266
267LayerTestResult<float, 5> ComparePooling3dTest(
268 armnn::IWorkloadFactory& workloadFactory,
269 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
270 armnn::IWorkloadFactory& refWorkloadFactory,
271 const armnn::ITensorHandleFactory& tensorHandleFactory,
272 const armnn::ITensorHandleFactory& refTensorHandleFactory,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000273 armnn::PoolingAlgorithm poolingType,
274 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100275
276LayerTestResult<uint8_t, 5> ComparePooling3dUint8Test(
277 armnn::IWorkloadFactory& workloadFactory,
278 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
279 armnn::IWorkloadFactory& refWorkloadFactory,
280 const armnn::ITensorHandleFactory& tensorHandleFactory,
281 const armnn::ITensorHandleFactory& refTensorHandleFactory,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000282 armnn::PoolingAlgorithm poolingType,
283 const armnn::DataLayout dataLayout);
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100284
285LayerTestResult<int16_t, 5> ComparePooling3dInt16Test(
286 armnn::IWorkloadFactory& workloadFactory,
287 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
288 armnn::IWorkloadFactory& refWorkloadFactory,
289 const armnn::ITensorHandleFactory& tensorHandleFactory,
290 const armnn::ITensorHandleFactory& refTensorHandleFactory,
Ryan OSheabab8fa92022-03-09 10:29:02 +0000291 armnn::PoolingAlgorithm poolingType,
292 const armnn::DataLayout dataLayout);