blob: 9f93c025b360602415a59a211b9e2d580461bfb6 [file] [log] [blame]
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01001//
Sadik Armagan56785c72020-08-27 12:57:20 +01002// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01003// SPDX-License-Identifier: MIT
4//
5
6#pragma once
7
Sadik Armagana097d2a2021-11-24 15:47:28 +00008#include <armnnTestUtils/LayerTestResult.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +01009
Matthew Jackson9bff1442019-09-12 09:08:23 +010010#include <Half.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, 2> SimpleSoftmaxTest(
16 armnn::IWorkloadFactory& workloadFactory,
17 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010018 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010019 float beta);
20
21LayerTestResult<float, 2> SimpleAxisSoftmaxTest(
22 armnn::IWorkloadFactory& workloadFactory,
23 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010024 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010025 float beta,
26 int axis);
27
28LayerTestResult<float, 3> Simple3dSoftmaxTest(
29 armnn::IWorkloadFactory& workloadFactory,
30 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010031 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010032 float beta);
33
34LayerTestResult<float, 3> Simple3dAxisSoftmaxTest(
35 armnn::IWorkloadFactory& workloadFactory,
36 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010037 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010038 float beta,
39 int axis);
40
41LayerTestResult<float, 4> Simple4dSoftmaxTest(
42 armnn::IWorkloadFactory& workloadFactory,
43 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010044 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010045 float beta);
46
47LayerTestResult<float, 4> Simple4dAxisSoftmaxTest(
48 armnn::IWorkloadFactory& workloadFactory,
49 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010050 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010051 float beta,
52 int axis);
53
54LayerTestResult<uint8_t, 2> SimpleSoftmaxUint8Test(
55 armnn::IWorkloadFactory& workloadFactory,
56 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010057 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010058 float beta);
59
60LayerTestResult<uint8_t,3> Simple3dSoftmaxUint8Test(
61 armnn::IWorkloadFactory& workloadFactory,
62 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010063 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010064 float beta);
65
66LayerTestResult<uint8_t,4> Simple4dSoftmaxUint8Test(
67 armnn::IWorkloadFactory& workloadFactory,
68 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010069 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010070 float beta);
71
Matthew Jackson9bff1442019-09-12 09:08:23 +010072LayerTestResult<armnn::Half,2> SimpleSoftmaxFloat16Test(
73 armnn::IWorkloadFactory& workloadFactory,
74 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010075 const armnn::ITensorHandleFactory& tensorHandleFactory,
Matthew Jackson9bff1442019-09-12 09:08:23 +010076 float beta);
77
78LayerTestResult<armnn::Half,3> Simple3dSoftmaxFloat16Test(
79 armnn::IWorkloadFactory& workloadFactory,
80 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010081 const armnn::ITensorHandleFactory& tensorHandleFactory,
Matthew Jackson9bff1442019-09-12 09:08:23 +010082 float beta);
83
84LayerTestResult<armnn::Half,4> Simple4dSoftmaxFloat16Test(
85 armnn::IWorkloadFactory& workloadFactory,
86 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010087 const armnn::ITensorHandleFactory& tensorHandleFactory,
Matthew Jackson9bff1442019-09-12 09:08:23 +010088 float beta);
89
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010090LayerTestResult<int16_t,2> SimpleSoftmaxUint16Test(
91 armnn::IWorkloadFactory& workloadFactory,
92 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010093 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010094 float beta);
95
96LayerTestResult<int16_t,3> Simple3dSoftmaxUint16Test(
97 armnn::IWorkloadFactory& workloadFactory,
98 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +010099 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100100 float beta);
101
102LayerTestResult<int16_t,4> Simple4dSoftmaxUint16Test(
103 armnn::IWorkloadFactory& workloadFactory,
104 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100105 const armnn::ITensorHandleFactory& tensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100106 float beta);
107
108LayerTestResult<float, 2> CompareSoftmaxTest(
109 armnn::IWorkloadFactory& workloadFactory,
110 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
111 armnn::IWorkloadFactory& refWorkloadFactory,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100112 const armnn::ITensorHandleFactory& tensorHandleFactory,
113 const armnn::ITensorHandleFactory& refTensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100114 float beta);
115
116LayerTestResult<uint8_t, 2> CompareSoftmaxUint8Test(
117 armnn::IWorkloadFactory& workloadFactory,
118 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
119 armnn::IWorkloadFactory& refWorkloadFactory,
Sadik Armagan89de3b42020-08-28 10:38:53 +0100120 const armnn::ITensorHandleFactory& tensorHandleFactory,
121 const armnn::ITensorHandleFactory& refTensorHandleFactory,
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100122 float beta);