blob: 2f0cde219ac17337202b356d9c4d224102d56314 [file] [log] [blame]
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01001//
2// Copyright © 2017 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
8#include "LayerTestResult.hpp"
9
10#include <armnn/Types.hpp>
11
Matteo Martincighe5b8eb92019-11-28 15:45:42 +000012#include <armnn/backends/IBackendInternal.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010013#include <backendsCommon/WorkloadFactory.hpp>
14
15LayerTestResult<float, 4> SimpleMaxPooling2dSize2x2Stride2x2Test(
16 armnn::IWorkloadFactory& workloadFactory,
17 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
18 bool forceNoPadding);
19
20LayerTestResult<uint8_t, 4> SimpleMaxPooling2dSize2x2Stride2x2Uint8Test(
21 armnn::IWorkloadFactory& workloadFactory,
22 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
23 bool forceNoPadding);
24
25LayerTestResult<int16_t, 4> SimpleMaxPooling2dSize2x2Stride2x2Int16Test(
26 armnn::IWorkloadFactory& workloadFactory,
27 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
28 bool forceNoPadding);
29
30LayerTestResult<float, 4> SimpleMaxPooling2dSize3x3Stride2x4Test(
31 armnn::IWorkloadFactory& workloadFactory,
32 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
33 bool forceNoPadding);
34
35LayerTestResult<uint8_t, 4> SimpleMaxPooling2dSize3x3Stride2x4Uint8Test(
36 armnn::IWorkloadFactory& workloadFactory,
37 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
38 bool forceNoPadding );
39
40LayerTestResult<int16_t, 4> SimpleMaxPooling2dSize3x3Stride2x4Int16Test(
41 armnn::IWorkloadFactory& workloadFactory,
42 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
43 bool forceNoPadding );
44
45LayerTestResult<float, 4> SimpleMaxPooling2dTest(
46 armnn::IWorkloadFactory& workloadFactory,
47 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
48 const armnn::DataLayout dataLayout);
49
50LayerTestResult<uint8_t, 4> SimpleMaxPooling2dUint8Test(
51 armnn::IWorkloadFactory& workloadFactory,
52 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
53 const armnn::DataLayout dataLayout);
54
55LayerTestResult<int16_t, 4> SimpleMaxPooling2dInt16Test(
56 armnn::IWorkloadFactory& workloadFactory,
57 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
58 const armnn::DataLayout dataLayout);
59
60LayerTestResult<float, 4> IgnorePaddingSimpleMaxPooling2dTest(
61 armnn::IWorkloadFactory& workloadFactory,
62 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
63
64LayerTestResult<uint8_t, 4> IgnorePaddingSimpleMaxPooling2dUint8Test(
65 armnn::IWorkloadFactory& workloadFactory,
66 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
67
68LayerTestResult<int16_t, 4> IgnorePaddingSimpleMaxPooling2dInt16Test(
69 armnn::IWorkloadFactory& workloadFactory,
70 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
71
72LayerTestResult<float, 4> IgnorePaddingMaxPooling2dSize3Test(
73 armnn::IWorkloadFactory& workloadFactory,
74 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
75
76LayerTestResult<uint8_t, 4> IgnorePaddingMaxPooling2dSize3Uint8Test(
77 armnn::IWorkloadFactory& workloadFactory,
78 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
79
80LayerTestResult<int16_t, 4> IgnorePaddingMaxPooling2dSize3Int16Test(
81 armnn::IWorkloadFactory& workloadFactory,
82 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
83
84LayerTestResult<float, 4> SimpleAveragePooling2dTest(
85 armnn::IWorkloadFactory& workloadFactory,
86 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
87 const armnn::DataLayout dataLayout);
88
89LayerTestResult<uint8_t, 4> SimpleAveragePooling2dUint8Test(
90 armnn::IWorkloadFactory& workloadFactory,
91 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
92 const armnn::DataLayout dataLayout);
93
94LayerTestResult<int16_t, 4> SimpleAveragePooling2dInt16Test(
95 armnn::IWorkloadFactory& workloadFactory,
96 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
97 const armnn::DataLayout dataLayout);
98
99LayerTestResult<float, 4> LargeTensorsAveragePooling2dTest(
100 armnn::IWorkloadFactory& workloadFactory,
101 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
102
103LayerTestResult<uint8_t, 4> LargeTensorsAveragePooling2dUint8Test(
104 armnn::IWorkloadFactory& workloadFactory,
105 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
106
107LayerTestResult<int16_t, 4> LargeTensorsAveragePooling2dInt16Test(
108 armnn::IWorkloadFactory& workloadFactory,
109 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
110
111LayerTestResult<float, 4> IgnorePaddingAveragePooling2dSize3x2Stride2x2Test(
112 armnn::IWorkloadFactory& workloadFactory,
113 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
114 bool forceNoPadding);
115
116LayerTestResult<float, 4> IgnorePaddingSimpleAveragePooling2dTest(
117 armnn::IWorkloadFactory& workloadFactory,
118 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
119
120LayerTestResult<uint8_t, 4> IgnorePaddingSimpleAveragePooling2dUint8Test(
121 armnn::IWorkloadFactory& workloadFactory,
122 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
123
124LayerTestResult<int16_t, 4> IgnorePaddingSimpleAveragePooling2dInt16Test(
125 armnn::IWorkloadFactory& workloadFactory,
126 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
127
128LayerTestResult<float, 4> IgnorePaddingSimpleAveragePooling2dNoPaddingTest(
129 armnn::IWorkloadFactory& workloadFactory,
130 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
131
132LayerTestResult<uint8_t, 4> IgnorePaddingSimpleAveragePooling2dNoPaddingUint8Test(
133 armnn::IWorkloadFactory& workloadFactory,
134 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
135
136LayerTestResult<int16_t, 4> IgnorePaddingSimpleAveragePooling2dNoPaddingInt16Test(
137 armnn::IWorkloadFactory& workloadFactory,
138 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
139
140LayerTestResult<float, 4> IgnorePaddingAveragePooling2dSize3Test(
141 armnn::IWorkloadFactory& workloadFactory,
142 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
143
144LayerTestResult<uint8_t, 4> IgnorePaddingAveragePooling2dSize3Uint8Test(
145 armnn::IWorkloadFactory& workloadFactory,
146 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
147
148LayerTestResult<int16_t, 4> IgnorePaddingAveragePooling2dSize3Int16Test(
149 armnn::IWorkloadFactory& workloadFactory,
150 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
151
152LayerTestResult<float, 4> SimpleL2Pooling2dTest(
153 armnn::IWorkloadFactory& workloadFactory,
154 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
155 const armnn::DataLayout dataLayout);
156
157LayerTestResult<uint8_t, 4> SimpleL2Pooling2dUint8Test(
158 armnn::IWorkloadFactory& workloadFactory,
159 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
160 const armnn::DataLayout dataLayout);
161
162LayerTestResult<int16_t, 4> SimpleL2Pooling2dInt16Test(
163 armnn::IWorkloadFactory& workloadFactory,
164 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
165 const armnn::DataLayout dataLayout);
166
167LayerTestResult<float, 4> L2Pooling2dSize3Stride1Test(
168 armnn::IWorkloadFactory& workloadFactory,
169 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
170
171LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride1Uint8Test(
172 armnn::IWorkloadFactory& workloadFactory,
173 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
174
175LayerTestResult<int16_t, 4> L2Pooling2dSize3Stride1Int16Test(
176 armnn::IWorkloadFactory& workloadFactory,
177 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
178
179LayerTestResult<float, 4> L2Pooling2dSize3Stride3Test(
180 armnn::IWorkloadFactory& workloadFactory,
181 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
182
183LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride3Uint8Test(
184 armnn::IWorkloadFactory& workloadFactory,
185 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
186
187LayerTestResult<int16_t, 4> L2Pooling2dSize3Stride3Int16Test(
188 armnn::IWorkloadFactory& workloadFactory,
189 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
190
191LayerTestResult<float, 4> L2Pooling2dSize3Stride4Test(
192 armnn::IWorkloadFactory& workloadFactory,
193 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
194
195LayerTestResult<uint8_t, 4> L2Pooling2dSize3Stride4Uint8Test(
196 armnn::IWorkloadFactory& workloadFactory,
197 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
198
199LayerTestResult<int16_t, 4> L2Pooling2dSize3Stride4Int16Test(
200 armnn::IWorkloadFactory& workloadFactory,
201 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
202
203LayerTestResult<float, 4> L2Pooling2dSize7Test(
204 armnn::IWorkloadFactory& workloadFactory,
205 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
206
207LayerTestResult<uint8_t, 4> L2Pooling2dSize7Uint8Test(
208 armnn::IWorkloadFactory& workloadFactory,
209 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
210
211LayerTestResult<int16_t, 4> L2Pooling2dSize7Int16Test(
212 armnn::IWorkloadFactory& workloadFactory,
213 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
214
215LayerTestResult<float, 4> L2Pooling2dSize9Test(
216 armnn::IWorkloadFactory& workloadFactory,
217 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
218
219LayerTestResult<uint8_t, 4> L2Pooling2dSize9Uint8Test(
220 armnn::IWorkloadFactory& workloadFactory,
221 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
222
223LayerTestResult<int16_t, 4> L2Pooling2dSize9Int16Test(
224 armnn::IWorkloadFactory& workloadFactory,
225 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
226
227LayerTestResult<float, 4> IgnorePaddingSimpleL2Pooling2dTest(
228 armnn::IWorkloadFactory& workloadFactory,
229 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
230
231LayerTestResult<uint8_t, 4> IgnorePaddingSimpleL2Pooling2dUint8Test(
232 armnn::IWorkloadFactory& workloadFactory,
233 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
234
235LayerTestResult<int16_t, 4> IgnorePaddingSimpleL2Pooling2dInt16Test(
236 armnn::IWorkloadFactory& workloadFactory,
237 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
238
239LayerTestResult<float, 4> IgnorePaddingL2Pooling2dSize3Test(
240 armnn::IWorkloadFactory& workloadFactory,
241 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
242
243LayerTestResult<uint8_t, 4> IgnorePaddingL2Pooling2dSize3Uint8Test(
244 armnn::IWorkloadFactory& workloadFactory,
245 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
246
247LayerTestResult<int16_t, 4> IgnorePaddingL2Pooling2dSize3Int16Test(
248 armnn::IWorkloadFactory& workloadFactory,
249 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
250
251LayerTestResult<float, 4> AsymmetricNonSquarePooling2dTest(
252 armnn::IWorkloadFactory& workloadFactory,
253 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
254
255LayerTestResult<uint8_t, 4> AsymmetricNonSquarePooling2dUint8Test(
256 armnn::IWorkloadFactory& workloadFactory,
257 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
258
259LayerTestResult<int16_t, 4> AsymmetricNonSquarePooling2dInt16Test(
260 armnn::IWorkloadFactory& workloadFactory,
261 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
262
263LayerTestResult<float, 4> ComparePooling2dTest(
264 armnn::IWorkloadFactory& workloadFactory,
265 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
266 armnn::IWorkloadFactory& refWorkloadFactory,
267 armnn::PoolingAlgorithm poolingType);
268
269LayerTestResult<uint8_t, 4> ComparePooling2dUint8Test(
270 armnn::IWorkloadFactory& workloadFactory,
271 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
272 armnn::IWorkloadFactory& refWorkloadFactory,
273 armnn::PoolingAlgorithm poolingType);
274
275LayerTestResult<int16_t, 4> ComparePooling2dInt16Test(
276 armnn::IWorkloadFactory& workloadFactory,
277 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
278 armnn::IWorkloadFactory& refWorkloadFactory,
279 armnn::PoolingAlgorithm poolingType);