xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/Conv3dTestImpl.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #pragma once
7 
8 #include <armnnTestUtils/LayerTestResult.hpp>
9 
10 #include <Half.hpp>
11 
12 #include <ResolveType.hpp>
13 
14 #include <armnn/Types.hpp>
15 
16 #include <armnn/backends/IBackendInternal.hpp>
17 #include <armnn/backends/WorkloadFactory.hpp>
18 
19 //
20 // Convolution3d
21 //
22 
23 LayerTestResult<float, 5> SimpleConvolution3d3x3x3Float32Test(
24         armnn::IWorkloadFactory& workloadFactory,
25         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
26         const armnn::ITensorHandleFactory& tensorHandleFactory,
27         bool biasEnabled,
28         armnn::DataLayout dataLayout);
29 
30 LayerTestResult<int8_t , 5> SimpleConvolution3d3x3x3Int8Test(
31         armnn::IWorkloadFactory& workloadFactory,
32         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
33         const armnn::ITensorHandleFactory& tensorHandleFactory,
34         bool biasEnabled,
35         armnn::DataLayout dataLayout);
36 
37 LayerTestResult<uint8_t, 5> SimpleConvolution3d3x3x3Uint8Test(
38         armnn::IWorkloadFactory& workloadFactory,
39         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
40         const armnn::ITensorHandleFactory& tensorHandleFactory,
41         bool biasEnabled,
42         armnn::DataLayout dataLayout);
43 
44 LayerTestResult<int16_t, 5> SimpleConvolution3d3x3x3Int16Test(
45         armnn::IWorkloadFactory& workloadFactory,
46         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
47         const armnn::ITensorHandleFactory& tensorHandleFactory,
48         bool biasEnabled,
49         armnn::DataLayout dataLayout);
50 
51 LayerTestResult<float, 5> Convolution3d2x2x2Strides3x5x5Float32Test(
52         armnn::IWorkloadFactory& workloadFactory,
53         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
54         const armnn::ITensorHandleFactory& tensorHandleFactory,
55         bool biasEnabled,
56         armnn::DataLayout dataLayout);
57 
58 LayerTestResult<int8_t , 5> Convolution3d2x2x2Strides3x5x5Int8Test(
59         armnn::IWorkloadFactory& workloadFactory,
60         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
61         const armnn::ITensorHandleFactory& tensorHandleFactory,
62         bool biasEnabled,
63         armnn::DataLayout dataLayout);
64 
65 LayerTestResult<uint8_t, 5> Convolution3d2x2x2Strides3x5x5Uint8Test(
66         armnn::IWorkloadFactory& workloadFactory,
67         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
68         const armnn::ITensorHandleFactory& tensorHandleFactory,
69         bool biasEnabled,
70         armnn::DataLayout dataLayout);
71 
72 LayerTestResult<int16_t, 5> Convolution3d2x2x2Strides3x5x5Int16Test(
73         armnn::IWorkloadFactory& workloadFactory,
74         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
75         const armnn::ITensorHandleFactory& tensorHandleFactory,
76         bool biasEnabled,
77         armnn::DataLayout dataLayout);
78 
79 LayerTestResult<float, 5> Convolution3d2x2x2Dilation2x2x2Float32Test(
80         armnn::IWorkloadFactory& workloadFactory,
81         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
82         const armnn::ITensorHandleFactory& tensorHandleFactory,
83         bool biasEnabled,
84         armnn::DataLayout dataLayout);
85 
86 LayerTestResult<int8_t , 5> Convolution3d2x2x2Dilation2x2x2Int8Test(
87         armnn::IWorkloadFactory& workloadFactory,
88         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
89         const armnn::ITensorHandleFactory& tensorHandleFactory,
90         bool biasEnabled,
91         armnn::DataLayout dataLayout);
92 
93 LayerTestResult<uint8_t, 5> Convolution3d2x2x2Dilation2x2x2Uint8Test(
94         armnn::IWorkloadFactory& workloadFactory,
95         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
96         const armnn::ITensorHandleFactory& tensorHandleFactory,
97         bool biasEnabled,
98         armnn::DataLayout dataLayout);
99 
100 LayerTestResult<int16_t, 5> Convolution3d2x2x2Dilation2x2x2Int16Test(
101         armnn::IWorkloadFactory& workloadFactory,
102         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
103         const armnn::ITensorHandleFactory& tensorHandleFactory,
104         bool biasEnabled,
105         armnn::DataLayout dataLayout);
106 
107 LayerTestResult<float, 5> Convolution3dPaddingSame3x3x3Float32Test(
108         armnn::IWorkloadFactory& workloadFactory,
109         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
110         const armnn::ITensorHandleFactory& tensorHandleFactory,
111         bool biasEnabled,
112         armnn::DataLayout dataLayout);
113 
114 LayerTestResult<int8_t , 5> Convolution3dPaddingSame3x3x3Int8Test(
115         armnn::IWorkloadFactory& workloadFactory,
116         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
117         const armnn::ITensorHandleFactory& tensorHandleFactory,
118         bool biasEnabled,
119         armnn::DataLayout dataLayout);
120 
121 LayerTestResult<uint8_t, 5> Convolution3dPaddingSame3x3x3Uint8Test(
122         armnn::IWorkloadFactory& workloadFactory,
123         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
124         const armnn::ITensorHandleFactory& tensorHandleFactory,
125         bool biasEnabled,
126         armnn::DataLayout dataLayout);
127 
128 LayerTestResult<int16_t, 5> Convolution3dPaddingSame3x3x3Int16Test(
129         armnn::IWorkloadFactory& workloadFactory,
130         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
131         const armnn::ITensorHandleFactory& tensorHandleFactory,
132         bool biasEnabled,
133         armnn::DataLayout dataLayout);
134 
135 LayerTestResult<float, 5> Convolution3dStrideDilationPadding3x3x3Float32Test(
136         armnn::IWorkloadFactory& workloadFactory,
137         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
138         const armnn::ITensorHandleFactory& tensorHandleFactory,
139         bool biasEnabled,
140         armnn::DataLayout dataLayout);
141 
142 LayerTestResult<float, 5> Convolution3d2x2x2Stride3x3x3SmallFloat32Test(
143         armnn::IWorkloadFactory& workloadFactory,
144         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
145         const armnn::ITensorHandleFactory& tensorHandleFactory,
146         bool biasEnabled,
147         armnn::DataLayout dataLayout);
148 
149 LayerTestResult<armnn::Half, 5> Convolution3d2x3x3Float16Test(
150         armnn::IWorkloadFactory& workloadFactory,
151         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
152         const armnn::ITensorHandleFactory& tensorHandleFactory,
153         bool biasEnabled,
154         armnn::DataLayout dataLayout);
155 
156 LayerTestResult<armnn::Half, 5> Convolution3d2x2x2SmallFloat16Test(
157         armnn::IWorkloadFactory& workloadFactory,
158         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
159         const armnn::ITensorHandleFactory& tensorHandleFactory,
160         bool biasEnabled,
161         armnn::DataLayout dataLayout);
162