xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/layerTests/SoftmaxTestImpl.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1 //
2 // Copyright © 2017 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 <armnn/backends/IBackendInternal.hpp>
13 #include <armnn/backends/WorkloadFactory.hpp>
14 
15 LayerTestResult<float, 2> SimpleSoftmaxTest(
16     armnn::IWorkloadFactory& workloadFactory,
17     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
18     const armnn::ITensorHandleFactory& tensorHandleFactory,
19     float beta);
20 
21 LayerTestResult<float, 2> SimpleAxisSoftmaxTest(
22         armnn::IWorkloadFactory& workloadFactory,
23         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
24         const armnn::ITensorHandleFactory& tensorHandleFactory,
25         float beta,
26         int axis);
27 
28 LayerTestResult<float, 3> Simple3dSoftmaxTest(
29         armnn::IWorkloadFactory& workloadFactory,
30         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
31         const armnn::ITensorHandleFactory& tensorHandleFactory,
32         float beta);
33 
34 LayerTestResult<float, 3> Simple3dAxisSoftmaxTest(
35         armnn::IWorkloadFactory& workloadFactory,
36         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
37         const armnn::ITensorHandleFactory& tensorHandleFactory,
38         float beta,
39         int axis);
40 
41 LayerTestResult<float, 4> Simple4dSoftmaxTest(
42         armnn::IWorkloadFactory& workloadFactory,
43         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
44         const armnn::ITensorHandleFactory& tensorHandleFactory,
45         float beta);
46 
47 LayerTestResult<float, 4> Simple4dAxisSoftmaxTest(
48         armnn::IWorkloadFactory& workloadFactory,
49         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
50         const armnn::ITensorHandleFactory& tensorHandleFactory,
51         float beta,
52         int axis);
53 
54 LayerTestResult<uint8_t, 2> SimpleSoftmaxUint8Test(
55     armnn::IWorkloadFactory& workloadFactory,
56     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
57     const armnn::ITensorHandleFactory& tensorHandleFactory,
58     float beta);
59 
60 LayerTestResult<uint8_t,3> Simple3dSoftmaxUint8Test(
61         armnn::IWorkloadFactory& workloadFactory,
62         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
63         const armnn::ITensorHandleFactory& tensorHandleFactory,
64         float beta);
65 
66 LayerTestResult<uint8_t,4> Simple4dSoftmaxUint8Test(
67         armnn::IWorkloadFactory& workloadFactory,
68         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
69         const armnn::ITensorHandleFactory& tensorHandleFactory,
70         float beta);
71 
72 LayerTestResult<armnn::Half,2> SimpleSoftmaxFloat16Test(
73         armnn::IWorkloadFactory& workloadFactory,
74         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
75         const armnn::ITensorHandleFactory& tensorHandleFactory,
76         float beta);
77 
78 LayerTestResult<armnn::Half,3> Simple3dSoftmaxFloat16Test(
79         armnn::IWorkloadFactory& workloadFactory,
80         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
81         const armnn::ITensorHandleFactory& tensorHandleFactory,
82         float beta);
83 
84 LayerTestResult<armnn::Half,4> Simple4dSoftmaxFloat16Test(
85         armnn::IWorkloadFactory& workloadFactory,
86         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
87         const armnn::ITensorHandleFactory& tensorHandleFactory,
88         float beta);
89 
90 LayerTestResult<int16_t,2> SimpleSoftmaxUint16Test(
91         armnn::IWorkloadFactory& workloadFactory,
92         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
93         const armnn::ITensorHandleFactory& tensorHandleFactory,
94         float beta);
95 
96 LayerTestResult<int16_t,3> Simple3dSoftmaxUint16Test(
97         armnn::IWorkloadFactory& workloadFactory,
98         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
99         const armnn::ITensorHandleFactory& tensorHandleFactory,
100         float beta);
101 
102 LayerTestResult<int16_t,4> Simple4dSoftmaxUint16Test(
103         armnn::IWorkloadFactory& workloadFactory,
104         const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
105         const armnn::ITensorHandleFactory& tensorHandleFactory,
106         float beta);
107 
108 LayerTestResult<float, 2> CompareSoftmaxTest(
109     armnn::IWorkloadFactory& workloadFactory,
110     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
111     armnn::IWorkloadFactory& refWorkloadFactory,
112     const armnn::ITensorHandleFactory& tensorHandleFactory,
113     const armnn::ITensorHandleFactory& refTensorHandleFactory,
114     float beta);
115 
116 LayerTestResult<uint8_t, 2> CompareSoftmaxUint8Test(
117     armnn::IWorkloadFactory& workloadFactory,
118     const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
119     armnn::IWorkloadFactory& refWorkloadFactory,
120     const armnn::ITensorHandleFactory& tensorHandleFactory,
121     const armnn::ITensorHandleFactory& refTensorHandleFactory,
122     float beta);
123