ArmNN
 22.05
Conv2dTestImpl.hpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
9 
10 #include <ResolveType.hpp>
11 
12 #include <armnn/Types.hpp>
13 
16 
17 //
18 // Convolution2d
19 //
20 
21 template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
23  armnn::IWorkloadFactory& workloadFactory,
25  const armnn::ITensorHandleFactory& tensorHandleFactory,
26  bool biasEnabled,
27  const armnn::DataLayout layout);
28 
29 template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
31  armnn::IWorkloadFactory& workloadFactory,
33  const armnn::ITensorHandleFactory& tensorHandleFactory,
34  bool biasEnabled,
35  const armnn::DataLayout layout);
36 
37 template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
39  armnn::IWorkloadFactory &workloadFactory,
41  const armnn::ITensorHandleFactory& tensorHandleFactory,
42  bool biasEnabled,
43  const armnn::DataLayout layout);
44 
46  armnn::IWorkloadFactory& workloadFactory,
48  const armnn::ITensorHandleFactory& tensorHandleFactory,
49  bool biasEnabled,
50  const armnn::DataLayout layout);
51 
53  armnn::IWorkloadFactory& workloadFactory,
55  const armnn::ITensorHandleFactory& tensorHandleFactory,
56  bool biasEnabled,
57  const armnn::DataLayout layout);
58 
60  armnn::IWorkloadFactory& workloadFactory,
62  const armnn::ITensorHandleFactory& tensorHandleFactory,
63  bool biasEnabled,
64  const armnn::DataLayout layout);
65 
67  armnn::IWorkloadFactory& workloadFactory,
69  const armnn::ITensorHandleFactory& tensorHandleFactory,
70  bool biasEnabled);
71 
73  armnn::IWorkloadFactory& workloadFactory,
75  const armnn::ITensorHandleFactory& tensorHandleFactory,
76  bool biasEnabled,
77  const armnn::DataLayout layout);
78 
80  armnn::IWorkloadFactory& workloadFactory,
82  const armnn::ITensorHandleFactory& tensorHandleFactory,
83  bool biasEnabled,
84  const armnn::DataLayout layout);
85 
87  armnn::IWorkloadFactory& workloadFactory,
89  const armnn::ITensorHandleFactory& tensorHandleFactory,
90  bool biasEnabled,
91  const armnn::DataLayout layout);
92 
94  armnn::IWorkloadFactory& workloadFactory,
96  const armnn::ITensorHandleFactory& tensorHandleFactory,
97  bool biasEnabled,
98  const armnn::DataLayout layout);
99 
101  armnn::IWorkloadFactory& workloadFactory,
103  const armnn::ITensorHandleFactory& tensorHandleFactory,
104  armnn::DataLayout layout);
105 
107  armnn::IWorkloadFactory& workloadFactory,
109  const armnn::ITensorHandleFactory& tensorHandleFactory,
110  armnn::DataLayout layout);
111 
113  armnn::IWorkloadFactory& workloadFactory,
115  const armnn::ITensorHandleFactory& tensorHandleFactory,
116  bool biasEnabled);
117 
119  armnn::IWorkloadFactory& workloadFactory,
121  const armnn::ITensorHandleFactory& tensorHandleFactory,
122  bool biasEnabled);
123 
125  armnn::IWorkloadFactory& workloadFactory,
127  armnn::IWorkloadFactory& refWorkloadFactory,
128  const armnn::ITensorHandleFactory& tensorHandleFactory,
129  const armnn::ITensorHandleFactory& refTensorHandleFactory);
130 
132  armnn::IWorkloadFactory& workloadFactory,
134  const armnn::ITensorHandleFactory& tensorHandleFactory,
135  const armnn::DataLayout layout);
136 
138  armnn::IWorkloadFactory& workloadFactory,
140  const armnn::ITensorHandleFactory& tensorHandleFactory,
141  bool biasEnabled,
142  const armnn::DataLayout& dataLayout);
143 
145  armnn::IWorkloadFactory& workloadFactory,
147  const armnn::ITensorHandleFactory& tensorHandleFactory,
148  bool biasEnabled,
149  const armnn::DataLayout& dataLayout);
150 
151 //
152 // DepthwiseConvolution2d
153 //
154 
155 template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
157  armnn::IWorkloadFactory& workloadFactory,
159  const armnn::ITensorHandleFactory& tensorHandleFactory,
160  bool biasEnabled,
161  const armnn::DataLayout layout);
162 
163 template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
165  armnn::IWorkloadFactory& workloadFactory,
167  const armnn::ITensorHandleFactory& tensorHandleFactory,
168  bool biasEnabled,
169  const armnn::DataLayout layout);
170 
171 template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
173  armnn::IWorkloadFactory& workloadFactory,
175  const armnn::ITensorHandleFactory& tensorHandleFactory,
176  bool biasEnabled,
177  const armnn::DataLayout layout);
178 
179 template<armnn::DataType ArmnnType, armnn::DataType ArmnnBType, typename T = armnn::ResolveType<ArmnnType>>
181  armnn::IWorkloadFactory& workloadFactory,
183  const armnn::ITensorHandleFactory& tensorHandleFactory,
184  bool biasEnabled,
185  const armnn::DataLayout layout);
186 
187 template<typename T>
189  armnn::IWorkloadFactory& workloadFactory,
191  armnn::IWorkloadFactory& refWorkloadFactory,
192  const armnn::ITensorHandleFactory& tensorHandleFactory,
193  const armnn::ITensorHandleFactory& refTensorHandleFactory,
194  const armnn::DataLayout layout);
195 
197  armnn::IWorkloadFactory& workloadFactory,
199  const armnn::ITensorHandleFactory& tensorHandleFactory,
200  bool biasEnabled,
201  const armnn::DataLayout layout);
202 
204  armnn::IWorkloadFactory& workloadFactory,
206  const armnn::ITensorHandleFactory& tensorHandleFactory,
207  bool biasEnabled);
208 
210  armnn::IWorkloadFactory& workloadFactory,
212  const armnn::ITensorHandleFactory& tensorHandleFactory,
213  bool biasEnabled,
214  const armnn::DataLayout layout);
215 
217  armnn::IWorkloadFactory& workloadFactory,
219  const armnn::ITensorHandleFactory& tensorHandleFactory);
220 
222  armnn::IWorkloadFactory& workloadFactory,
224  const armnn::ITensorHandleFactory& tensorHandleFactory,
225  bool biasEnabled,
226  const armnn::DataLayout layout);
227 
229  armnn::IWorkloadFactory& workloadFactory,
231  const armnn::ITensorHandleFactory& tensorHandleFactory);
232 
234  armnn::IWorkloadFactory& workloadFactory,
236  const armnn::ITensorHandleFactory& tensorHandleFactory,
237  bool biasEnabled,
238  const armnn::DataLayout layout);
239 
241  armnn::IWorkloadFactory& workloadFactory,
243  const armnn::ITensorHandleFactory& tensorHandleFactory,
244  bool biasEnabled,
245  const armnn::DataLayout layout);
246 
248  armnn::IWorkloadFactory& workloadFactory,
250  const armnn::ITensorHandleFactory& tensorHandleFactory,
251  bool biasEnabled,
252  const armnn::DataLayout layout);
253 
255  armnn::IWorkloadFactory& workloadFactory,
257  const armnn::ITensorHandleFactory& tensorHandleFactory,
258  bool biasEnabled,
259  const armnn::DataLayout layout);
260 
262  armnn::IWorkloadFactory& workloadFactory,
264  const armnn::ITensorHandleFactory& tensorHandleFactory,
265  const armnn::DataLayout layout);
266 
268  armnn::IWorkloadFactory& workloadFactory,
270  armnn::IWorkloadFactory& refWorkloadFactory,
271  const armnn::ITensorHandleFactory& tensorHandleFactory,
272  const armnn::ITensorHandleFactory& refTensorHandleFactory,
273  const armnn::DataLayout layout);
274 
276  armnn::IWorkloadFactory& workloadFactory,
278  armnn::IWorkloadFactory& refWorkloadFactory,
279  const armnn::ITensorHandleFactory& tensorHandleFactory,
280  const armnn::ITensorHandleFactory& refTensorHandleFactory,
281  const armnn::DataLayout layout);
LayerTestResult< float, 4 > DepthwiseConvolution2dDepthMul64Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
DataLayout
Definition: Types.hpp:62
LayerTestResult< float, 4 > DepthwiseConvolution2dDepthMul1Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< T, 4 > DepthwiseConvolution2d3x3Dilation3x3Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< float, 4 > DepthwiseConvolution2dDepthNhwcTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled)
LayerTestResult< uint8_t, 4 > SimpleConvolution2d3x3Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< float, 4 > Convolution2dAsymmetricPaddingLargerThanHalfKernelSizeTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, armnn::DataLayout layout)
LayerTestResult< float, 4 > SimpleConvolution2d3x3Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< T, 4 > Convolution2d3x3Dilation3x3Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< int16_t, 4 > DepthwiseConvolution2dInt16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< float, 4 > Convolution1dTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled)
LayerTestResult< float, 4 > CompareDepthwiseConvolution2dFloatTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, armnn::IWorkloadFactory &refWorkloadFactory, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::ITensorHandleFactory &refTensorHandleFactory, const armnn::DataLayout layout)
LayerTestResult< T, 4 > CompareDepthwiseConvolution2dTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, armnn::IWorkloadFactory &refWorkloadFactory, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::ITensorHandleFactory &refTensorHandleFactory, const armnn::DataLayout layout)
LayerTestResult< float, 4 > SimpleConvolution2d3x3Stride2x2Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< int16_t, 4 > DepthwiseConvolution2dDepthMul1Int16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< uint8_t, 4 > DepthwiseConvolution2dPerAxisQuantTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout layout)
LayerTestResult< float, 4 > SimpleConvolution2d3x3NhwcTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled)
std::shared_ptr< IMemoryManager > IMemoryManagerSharedPtr
LayerTestResult< uint8_t, 4 > DepthwiseConvolution2dUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< float, 4 > SimpleDepthwiseConvolution2d3x3Dilation3x3NhwcTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory)
LayerTestResult< T, 4 > Convolution2d2x3x3Dilation3x3Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< uint8_t, 4 > SimpleConvolution2d3x5Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< float, 4 > DepthwiseConvolution2dTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< uint8_t, 4 > Convolution2dPerAxisQuantTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::DataLayout layout)
LayerTestResult< uint8_t, 4 > DepthwiseConvolution2dDepthMul1Uint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< float, 4 > Convolution2d3x3Stride2x2BFloat16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout &dataLayout)
LayerTestResult< float, 4 > DepthwiseConvolution2dAsymmetricTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< float, 4 > Convolution2d3x3Stride2x2BFloat16SmallValueTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout &dataLayout)
LayerTestResult< uint8_t, 4 > CompareDepthwiseConvolution2dUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, armnn::IWorkloadFactory &refWorkloadFactory, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::ITensorHandleFactory &refTensorHandleFactory, const armnn::DataLayout layout)
LayerTestResult< float, 4 > SimpleConvolution2d3x5Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< int16_t, 4 > SimpleConvolution2d3x5QSymm16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< T, 4 > Convolution2d2x2Dilation2x2Padding2x2Stride3x3Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< uint8_t, 4 > Convolution1dUint8Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled)
LayerTestResult< T, 4 > DepthwiseConvolution2dMult2Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< T, 4 > DepthwiseConvolution2d2x3x3Dilation3x3Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< T, 4 > DepthwiseConvolution2dMult4Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)
LayerTestResult< float, 4 > CompareConvolution2dTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, armnn::IWorkloadFactory &refWorkloadFactory, const armnn::ITensorHandleFactory &tensorHandleFactory, const armnn::ITensorHandleFactory &refTensorHandleFactory)
LayerTestResult< float, 4 > Convolution2dAsymmetricPaddingTest(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, armnn::DataLayout layout)
LayerTestResult< int16_t, 4 > SimpleConvolution2d3x3QSymm16Test(armnn::IWorkloadFactory &workloadFactory, const armnn::IBackendInternal::IMemoryManagerSharedPtr &memoryManager, const armnn::ITensorHandleFactory &tensorHandleFactory, bool biasEnabled, const armnn::DataLayout layout)