blob: 2251ceb8ddc47af07e7767422a2499293e91dd19 [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
Matteo Martincighe5b8eb92019-11-28 15:45:42 +000010#include <armnn/backends/IBackendInternal.hpp>
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010011#include <backendsCommon/WorkloadFactory.hpp>
12
13//
14// Sigmoid
15//
16
17LayerTestResult<float, 4> SimpleSigmoidTest(
18 armnn::IWorkloadFactory& workloadFactory,
19 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
20
21LayerTestResult<uint8_t, 4> SimpleSigmoidUint8Test(
22 armnn::IWorkloadFactory& workloadFactory,
23 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
24
25LayerTestResult<int16_t, 4> SimpleSigmoidInt16Test(
26 armnn::IWorkloadFactory& workloadFactory,
27 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
28
29//
30// TanH
31//
32
33LayerTestResult<float, 4> TanhTest(
34 armnn::IWorkloadFactory& workloadFactory,
35 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
36
37LayerTestResult<uint8_t, 4> TanhUint8Test(
38 armnn::IWorkloadFactory& workloadFactory,
39 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
40
41LayerTestResult<int16_t, 4> TanhInt16Test(
42 armnn::IWorkloadFactory& workloadFactory,
43 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
44
45//
46// Linear
47//
48
49LayerTestResult<float, 4> ConstantLinearActivationTest(
50 armnn::IWorkloadFactory& workloadFactory,
51 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
52
53LayerTestResult<uint8_t, 4> ConstantLinearActivationUint8Test(
54 armnn::IWorkloadFactory& workloadFactory,
55 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
56
57LayerTestResult<int16_t, 4> ConstantLinearActivationInt16Test(
58 armnn::IWorkloadFactory& workloadFactory,
59 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
60
61//
62// ReLu
63//
64
65LayerTestResult<float, 4> ReLuTest(
66 armnn::IWorkloadFactory& workloadFactory,
67 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
68
69LayerTestResult<uint8_t, 4> ReLuUint8Test(
70 armnn::IWorkloadFactory& workloadFactory,
71 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
72
73LayerTestResult<int16_t, 4> ReLuInt16Test(
74 armnn::IWorkloadFactory& workloadFactory,
75 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
76
77//
78// BoundedReLu
79//
80
81LayerTestResult<uint8_t, 4> BoundedReLuUint8Test(
82 armnn::IWorkloadFactory& workloadFactory,
83 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
84 float upperBound);
85
86LayerTestResult<uint8_t, 4> BoundedReLuUint8Test(
87 armnn::IWorkloadFactory& workloadFactory,
88 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
89 float upperBound,
90 float lowerBound);
91
92LayerTestResult<int16_t, 4> BoundedReLuInt16Test(
93 armnn::IWorkloadFactory& workloadFactory,
94 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
95
96LayerTestResult<float, 4> BoundedReLuUpperAndLowerBoundTest(
97 armnn::IWorkloadFactory& workloadFactory,
98 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
99
100LayerTestResult<uint8_t, 4> BoundedReLuUint8UpperAndLowerBoundTest(
101 armnn::IWorkloadFactory& workloadFactor,
102 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManagery);
103
104LayerTestResult<float, 4> BoundedReLuUpperBoundOnlyTest(
105 armnn::IWorkloadFactory& workloadFactory,
106 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
107
108LayerTestResult<uint8_t, 4> BoundedReLuUint8UpperBoundOnlyTest(
109 armnn::IWorkloadFactory& workloadFactory,
110 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
111
112LayerTestResult<float, 4> CompareBoundedReLuTest(
113 armnn::IWorkloadFactory& workloadFactory,
114 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
115 armnn::IWorkloadFactory& refWorkloadFactory,
116 float upperBound,
117 float lowerBound);
118
119//
120// SoftReLu
121//
122
123LayerTestResult<float, 4> SoftReLuTest(
124 armnn::IWorkloadFactory& workloadFactory,
125 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
126
127LayerTestResult<uint8_t, 4> SoftReLuUint8Test(
128 armnn::IWorkloadFactory& workloadFactory,
129 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
130
131LayerTestResult<int16_t, 4> SoftReLuInt16Test(
132 armnn::IWorkloadFactory& workloadFactory,
133 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
134
135//
136// LeakyReLu
137//
138
139LayerTestResult<float, 4> LeakyReLuTest(
140 armnn::IWorkloadFactory& workloadFactory,
141 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
142
143LayerTestResult<uint8_t, 4> LeakyReLuUint8Test(
144 armnn::IWorkloadFactory& workloadFactory,
145 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
146
147LayerTestResult<int16_t, 4> LeakyReLuInt16Test(
148 armnn::IWorkloadFactory& workloadFactory,
149 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
150
151//
152// Abs
153//
154
155LayerTestResult<float, 4> AbsTest(
156 armnn::IWorkloadFactory& workloadFactory,
157 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
158
159LayerTestResult<uint8_t, 4> AbsUint8Test(
160 armnn::IWorkloadFactory& workloadFactory,
161 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
162
163LayerTestResult<int16_t, 4> AbsInt16Test(
164 armnn::IWorkloadFactory& workloadFactory,
165 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
166
167//
168// Sqrt
169//
170
171LayerTestResult<float, 4> SqrtTest(
172 armnn::IWorkloadFactory& workloadFactory,
173 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
174
Sadik Armagan6095ba52019-09-13 17:07:19 +0100175LayerTestResult<float, 5> SqrtNNTest(
176 armnn::IWorkloadFactory& workloadFactory,
177 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
178
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100179LayerTestResult<uint8_t, 4> SqrtUint8Test(
180 armnn::IWorkloadFactory& workloadFactory,
181 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
182
183LayerTestResult<int16_t, 4> SqrtInt16Test(
184 armnn::IWorkloadFactory& workloadFactory,
185 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
186
187//
188// Square
189//
190
191LayerTestResult<float, 4> SquareTest(
192 armnn::IWorkloadFactory& workloadFactory,
193 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
194
195LayerTestResult<uint8_t, 4> SquareUint8Test(
196 armnn::IWorkloadFactory& workloadFactory,
197 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
198
199LayerTestResult<int16_t, 4> SquareInt16Test(
200 armnn::IWorkloadFactory& workloadFactory,
201 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager);
202
203//
204// Other
205//
206
207LayerTestResult<float, 4> CompareActivationTest(
208 armnn::IWorkloadFactory& workloadFactory,
209 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
210 armnn::IWorkloadFactory& refWorkloadFactory,
211 armnn::ActivationFunction f,
212 unsigned int batchSize);
213
214LayerTestResult<uint8_t, 4> CompareActivationUint8Test(
215 armnn::IWorkloadFactory& workloadFactory,
216 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
217 armnn::IWorkloadFactory& refWorkloadFactory,
218 armnn::ActivationFunction f);
219
220LayerTestResult<int16_t, 4> CompareActivationInt16Test(
221 armnn::IWorkloadFactory& workloadFactory,
222 const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager,
223 armnn::IWorkloadFactory& refWorkloadFactory,
224 armnn::ActivationFunction f);