xref: /aosp_15_r20/external/armnn/delegate/test/ActivationTest.cpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2020, 2023 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker 
6*89c4ff92SAndroid Build Coastguard Worker #include "ActivationTestHelper.hpp"
7*89c4ff92SAndroid Build Coastguard Worker 
8*89c4ff92SAndroid Build Coastguard Worker #include <armnn_delegate.hpp>
9*89c4ff92SAndroid Build Coastguard Worker 
10*89c4ff92SAndroid Build Coastguard Worker #include <flatbuffers/flatbuffers.h>
11*89c4ff92SAndroid Build Coastguard Worker #include <tensorflow/lite/interpreter.h>
12*89c4ff92SAndroid Build Coastguard Worker #include <schema_generated.h>
13*89c4ff92SAndroid Build Coastguard Worker 
14*89c4ff92SAndroid Build Coastguard Worker #include <doctest/doctest.h>
15*89c4ff92SAndroid Build Coastguard Worker 
16*89c4ff92SAndroid Build Coastguard Worker namespace armnnDelegate
17*89c4ff92SAndroid Build Coastguard Worker {
18*89c4ff92SAndroid Build Coastguard Worker 
19*89c4ff92SAndroid Build Coastguard Worker 
ActivationReLuTest(std::vector<armnn::BackendId> & backends)20*89c4ff92SAndroid Build Coastguard Worker void ActivationReLuTest(std::vector<armnn::BackendId>& backends)
21*89c4ff92SAndroid Build Coastguard Worker {
22*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputData = {
23*89c4ff92SAndroid Build Coastguard Worker             -0.1f, -0.2f, -0.3f, -0.4f,
24*89c4ff92SAndroid Build Coastguard Worker             0.1f,  0.2f,  0.3f,  0.4f,
25*89c4ff92SAndroid Build Coastguard Worker             -1.0f, -2.0f, -3.0f, -4.0f,
26*89c4ff92SAndroid Build Coastguard Worker             1.0f,  2.0f,  3.0f,  4.0f
27*89c4ff92SAndroid Build Coastguard Worker     };
28*89c4ff92SAndroid Build Coastguard Worker 
29*89c4ff92SAndroid Build Coastguard Worker     // Calculate output values for input.
30*89c4ff92SAndroid Build Coastguard Worker     auto f = [](float value)
31*89c4ff92SAndroid Build Coastguard Worker     {
32*89c4ff92SAndroid Build Coastguard Worker         return std::fmax(0.0f, value);
33*89c4ff92SAndroid Build Coastguard Worker     };
34*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> outputExpectedData(inputData.size());
35*89c4ff92SAndroid Build Coastguard Worker     std::transform(inputData.begin(), inputData.end(), outputExpectedData.begin(), f);
36*89c4ff92SAndroid Build Coastguard Worker 
37*89c4ff92SAndroid Build Coastguard Worker     ActivationTest(tflite::BuiltinOperator_RELU,
38*89c4ff92SAndroid Build Coastguard Worker                    backends,
39*89c4ff92SAndroid Build Coastguard Worker                    inputData,
40*89c4ff92SAndroid Build Coastguard Worker                    outputExpectedData);
41*89c4ff92SAndroid Build Coastguard Worker }
42*89c4ff92SAndroid Build Coastguard Worker 
ActivationBoundedReluTest(std::vector<armnn::BackendId> & backends)43*89c4ff92SAndroid Build Coastguard Worker void ActivationBoundedReluTest(std::vector<armnn::BackendId>& backends)
44*89c4ff92SAndroid Build Coastguard Worker {
45*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputData = {
46*89c4ff92SAndroid Build Coastguard Worker             -0.1f, -0.2f, -0.3f, -0.4f,
47*89c4ff92SAndroid Build Coastguard Worker             0.1f,  0.2f,  0.3f,  0.4f,
48*89c4ff92SAndroid Build Coastguard Worker             -1.0f, -2.0f, -3.0f, -4.0f,
49*89c4ff92SAndroid Build Coastguard Worker             1.0f,  2.0f,  3.0f,  4.0f
50*89c4ff92SAndroid Build Coastguard Worker     };
51*89c4ff92SAndroid Build Coastguard Worker 
52*89c4ff92SAndroid Build Coastguard Worker     const float a = 6.0f;
53*89c4ff92SAndroid Build Coastguard Worker     const float b = 0.0f;
54*89c4ff92SAndroid Build Coastguard Worker     // Calculate output values for input.
55*89c4ff92SAndroid Build Coastguard Worker     auto f = [a, b](float value)
56*89c4ff92SAndroid Build Coastguard Worker     {
57*89c4ff92SAndroid Build Coastguard Worker         return std::min(a, std::max(b, value));
58*89c4ff92SAndroid Build Coastguard Worker     };
59*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> outputExpectedData(inputData.size());
60*89c4ff92SAndroid Build Coastguard Worker     std::transform(inputData.begin(), inputData.end(), outputExpectedData.begin(), f);
61*89c4ff92SAndroid Build Coastguard Worker 
62*89c4ff92SAndroid Build Coastguard Worker     ActivationTest(tflite::BuiltinOperator_RELU6,
63*89c4ff92SAndroid Build Coastguard Worker                    backends,
64*89c4ff92SAndroid Build Coastguard Worker                    inputData,
65*89c4ff92SAndroid Build Coastguard Worker                    outputExpectedData);
66*89c4ff92SAndroid Build Coastguard Worker }
67*89c4ff92SAndroid Build Coastguard Worker 
ActivationSigmoidTest(std::vector<armnn::BackendId> & backends)68*89c4ff92SAndroid Build Coastguard Worker void ActivationSigmoidTest(std::vector<armnn::BackendId>& backends)
69*89c4ff92SAndroid Build Coastguard Worker {
70*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputData = {
71*89c4ff92SAndroid Build Coastguard Worker             -0.1f, -0.2f, -0.3f, -0.4f,
72*89c4ff92SAndroid Build Coastguard Worker             0.1f,  0.2f,  0.3f,  0.4f,
73*89c4ff92SAndroid Build Coastguard Worker             -1.0f, -2.0f, -3.0f, -4.0f,
74*89c4ff92SAndroid Build Coastguard Worker             1.0f,  2.0f,  3.0f,  4.0f
75*89c4ff92SAndroid Build Coastguard Worker     };
76*89c4ff92SAndroid Build Coastguard Worker 
77*89c4ff92SAndroid Build Coastguard Worker     // Calculate output values for input.
78*89c4ff92SAndroid Build Coastguard Worker     auto f = [](float value)
79*89c4ff92SAndroid Build Coastguard Worker     {
80*89c4ff92SAndroid Build Coastguard Worker         return 1.0f / (1.0f + std::exp(-value));
81*89c4ff92SAndroid Build Coastguard Worker     };
82*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> outputExpectedData(inputData.size());
83*89c4ff92SAndroid Build Coastguard Worker     std::transform(inputData.begin(), inputData.end(), outputExpectedData.begin(), f);
84*89c4ff92SAndroid Build Coastguard Worker 
85*89c4ff92SAndroid Build Coastguard Worker     ActivationTest(tflite::BuiltinOperator_LOGISTIC,
86*89c4ff92SAndroid Build Coastguard Worker                    backends,
87*89c4ff92SAndroid Build Coastguard Worker                    inputData,
88*89c4ff92SAndroid Build Coastguard Worker                    outputExpectedData);
89*89c4ff92SAndroid Build Coastguard Worker }
90*89c4ff92SAndroid Build Coastguard Worker 
91*89c4ff92SAndroid Build Coastguard Worker 
ActivationTanHTest(std::vector<armnn::BackendId> & backends)92*89c4ff92SAndroid Build Coastguard Worker void ActivationTanHTest(std::vector<armnn::BackendId>& backends)
93*89c4ff92SAndroid Build Coastguard Worker {
94*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputData = {
95*89c4ff92SAndroid Build Coastguard Worker             -0.1f, -0.2f, -0.3f, -0.4f,
96*89c4ff92SAndroid Build Coastguard Worker             0.1f,  0.2f,  0.3f,  0.4f,
97*89c4ff92SAndroid Build Coastguard Worker             -1.0f, -2.0f, -3.0f, -4.0f,
98*89c4ff92SAndroid Build Coastguard Worker             1.0f,  2.0f,  3.0f,  4.0f
99*89c4ff92SAndroid Build Coastguard Worker     };
100*89c4ff92SAndroid Build Coastguard Worker 
101*89c4ff92SAndroid Build Coastguard Worker     // Calculate output values for input.
102*89c4ff92SAndroid Build Coastguard Worker     auto f = [](float value)
103*89c4ff92SAndroid Build Coastguard Worker     {
104*89c4ff92SAndroid Build Coastguard Worker         return tanhf(value);
105*89c4ff92SAndroid Build Coastguard Worker     };
106*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> outputExpectedData(inputData.size());
107*89c4ff92SAndroid Build Coastguard Worker     std::transform(inputData.begin(), inputData.end(), outputExpectedData.begin(), f);
108*89c4ff92SAndroid Build Coastguard Worker 
109*89c4ff92SAndroid Build Coastguard Worker     ActivationTest(tflite::BuiltinOperator_TANH,
110*89c4ff92SAndroid Build Coastguard Worker                    backends,
111*89c4ff92SAndroid Build Coastguard Worker                    inputData,
112*89c4ff92SAndroid Build Coastguard Worker                    outputExpectedData);
113*89c4ff92SAndroid Build Coastguard Worker }
114*89c4ff92SAndroid Build Coastguard Worker 
ActivationEluTest(std::vector<armnn::BackendId> & backends)115*89c4ff92SAndroid Build Coastguard Worker void ActivationEluTest(std::vector<armnn::BackendId>& backends)
116*89c4ff92SAndroid Build Coastguard Worker {
117*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputData = {
118*89c4ff92SAndroid Build Coastguard Worker             -0.1f, -0.2f, -0.3f, -0.4f,
119*89c4ff92SAndroid Build Coastguard Worker             0.1f,  0.2f,  0.3f,  0.4f,
120*89c4ff92SAndroid Build Coastguard Worker             -1.0f, -2.0f, -3.0f, -4.0f,
121*89c4ff92SAndroid Build Coastguard Worker             1.0f,  2.0f,  3.0f,  4.0f
122*89c4ff92SAndroid Build Coastguard Worker     };
123*89c4ff92SAndroid Build Coastguard Worker 
124*89c4ff92SAndroid Build Coastguard Worker     // Calculate output values for input.
125*89c4ff92SAndroid Build Coastguard Worker     auto f = [](float value)
126*89c4ff92SAndroid Build Coastguard Worker     {
127*89c4ff92SAndroid Build Coastguard Worker         if (value < 0)
128*89c4ff92SAndroid Build Coastguard Worker         {
129*89c4ff92SAndroid Build Coastguard Worker             // alpha * (exp(x) - 1)
130*89c4ff92SAndroid Build Coastguard Worker             return 1 * (std::exp(value) - 1);
131*89c4ff92SAndroid Build Coastguard Worker         }
132*89c4ff92SAndroid Build Coastguard Worker         return value;
133*89c4ff92SAndroid Build Coastguard Worker     };
134*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> outputExpectedData(inputData.size());
135*89c4ff92SAndroid Build Coastguard Worker     std::transform(inputData.begin(), inputData.end(), outputExpectedData.begin(), f);
136*89c4ff92SAndroid Build Coastguard Worker 
137*89c4ff92SAndroid Build Coastguard Worker     ActivationTest(tflite::BuiltinOperator_ELU,
138*89c4ff92SAndroid Build Coastguard Worker                    backends,
139*89c4ff92SAndroid Build Coastguard Worker                    inputData,
140*89c4ff92SAndroid Build Coastguard Worker                    outputExpectedData);
141*89c4ff92SAndroid Build Coastguard Worker }
142*89c4ff92SAndroid Build Coastguard Worker 
ActivationHardSwishTest(std::vector<armnn::BackendId> & backends)143*89c4ff92SAndroid Build Coastguard Worker void ActivationHardSwishTest(std::vector<armnn::BackendId>& backends)
144*89c4ff92SAndroid Build Coastguard Worker {
145*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> inputData = {
146*89c4ff92SAndroid Build Coastguard Worker             -0.1f, -0.2f, -0.3f, -0.4f,
147*89c4ff92SAndroid Build Coastguard Worker             0.1f,  0.2f,  0.3f,  0.4f,
148*89c4ff92SAndroid Build Coastguard Worker             -1.0f, -2.0f, -3.0f, -4.0f,
149*89c4ff92SAndroid Build Coastguard Worker             1.0f,  2.0f,  3.0f,  4.0f
150*89c4ff92SAndroid Build Coastguard Worker     };
151*89c4ff92SAndroid Build Coastguard Worker 
152*89c4ff92SAndroid Build Coastguard Worker     // Calculate output values for input.
153*89c4ff92SAndroid Build Coastguard Worker     auto f = [](float x)
154*89c4ff92SAndroid Build Coastguard Worker     {
155*89c4ff92SAndroid Build Coastguard Worker         // Break down the calculation to help with verification.
156*89c4ff92SAndroid Build Coastguard Worker         // hard_swish(x) = x * relu6(x+3) / 6
157*89c4ff92SAndroid Build Coastguard Worker         // relu6(x) = min(max(x,0),6)
158*89c4ff92SAndroid Build Coastguard Worker         float reLu6_step1 = std::max((x + 3),0.0f);
159*89c4ff92SAndroid Build Coastguard Worker         float reLu6Complete = std::min(reLu6_step1, 6.0f);
160*89c4ff92SAndroid Build Coastguard Worker         float hardSwish_step1 = x * reLu6Complete;
161*89c4ff92SAndroid Build Coastguard Worker         float result = hardSwish_step1 / 6;
162*89c4ff92SAndroid Build Coastguard Worker         return result;
163*89c4ff92SAndroid Build Coastguard Worker     };
164*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> outputExpectedData(inputData.size());
165*89c4ff92SAndroid Build Coastguard Worker     std::transform(inputData.begin(), inputData.end(), outputExpectedData.begin(), f);
166*89c4ff92SAndroid Build Coastguard Worker 
167*89c4ff92SAndroid Build Coastguard Worker     ActivationTest(tflite::BuiltinOperator_HARD_SWISH,
168*89c4ff92SAndroid Build Coastguard Worker                    backends,
169*89c4ff92SAndroid Build Coastguard Worker                    inputData,
170*89c4ff92SAndroid Build Coastguard Worker                    outputExpectedData);
171*89c4ff92SAndroid Build Coastguard Worker }
172*89c4ff92SAndroid Build Coastguard Worker 
173*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("Activation_CpuRefTests")
174*89c4ff92SAndroid Build Coastguard Worker {
175*89c4ff92SAndroid Build Coastguard Worker 
176*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_ReLu_CpuRef_Test")
177*89c4ff92SAndroid Build Coastguard Worker {
178*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
179*89c4ff92SAndroid Build Coastguard Worker     ActivationReLuTest(backends);
180*89c4ff92SAndroid Build Coastguard Worker }
181*89c4ff92SAndroid Build Coastguard Worker 
182*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_Bounded_Relu6_CpuRef_Test")
183*89c4ff92SAndroid Build Coastguard Worker {
184*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
185*89c4ff92SAndroid Build Coastguard Worker     ActivationBoundedReluTest(backends);
186*89c4ff92SAndroid Build Coastguard Worker }
187*89c4ff92SAndroid Build Coastguard Worker 
188*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_Sigmoid_CpuRef_Test")
189*89c4ff92SAndroid Build Coastguard Worker {
190*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
191*89c4ff92SAndroid Build Coastguard Worker     ActivationSigmoidTest(backends);
192*89c4ff92SAndroid Build Coastguard Worker }
193*89c4ff92SAndroid Build Coastguard Worker 
194*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_TanH_CpuRef_Test")
195*89c4ff92SAndroid Build Coastguard Worker {
196*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
197*89c4ff92SAndroid Build Coastguard Worker     ActivationTanHTest(backends);
198*89c4ff92SAndroid Build Coastguard Worker }
199*89c4ff92SAndroid Build Coastguard Worker 
200*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_Elu_CpuRef_Test")
201*89c4ff92SAndroid Build Coastguard Worker {
202*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
203*89c4ff92SAndroid Build Coastguard Worker     ActivationEluTest(backends);
204*89c4ff92SAndroid Build Coastguard Worker }
205*89c4ff92SAndroid Build Coastguard Worker 
206*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_HardSwish_CpuRef_Test")
207*89c4ff92SAndroid Build Coastguard Worker {
208*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuRef };
209*89c4ff92SAndroid Build Coastguard Worker     ActivationHardSwishTest(backends);
210*89c4ff92SAndroid Build Coastguard Worker }
211*89c4ff92SAndroid Build Coastguard Worker 
212*89c4ff92SAndroid Build Coastguard Worker }
213*89c4ff92SAndroid Build Coastguard Worker 
214*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("Activation_CpuAccTests")
215*89c4ff92SAndroid Build Coastguard Worker {
216*89c4ff92SAndroid Build Coastguard Worker 
217*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_ReLu_CpuAcc_Test")
218*89c4ff92SAndroid Build Coastguard Worker {
219*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
220*89c4ff92SAndroid Build Coastguard Worker     ActivationReLuTest(backends);
221*89c4ff92SAndroid Build Coastguard Worker }
222*89c4ff92SAndroid Build Coastguard Worker 
223*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_Bounded_Relu6_CpuAcc_Test")
224*89c4ff92SAndroid Build Coastguard Worker {
225*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
226*89c4ff92SAndroid Build Coastguard Worker     ActivationBoundedReluTest(backends);
227*89c4ff92SAndroid Build Coastguard Worker }
228*89c4ff92SAndroid Build Coastguard Worker 
229*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_Sigmoid_CpuAcc_Test")
230*89c4ff92SAndroid Build Coastguard Worker {
231*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
232*89c4ff92SAndroid Build Coastguard Worker     ActivationSigmoidTest(backends);
233*89c4ff92SAndroid Build Coastguard Worker }
234*89c4ff92SAndroid Build Coastguard Worker 
235*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_TanH_CpuAcc_Test")
236*89c4ff92SAndroid Build Coastguard Worker {
237*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
238*89c4ff92SAndroid Build Coastguard Worker     ActivationTanHTest(backends);
239*89c4ff92SAndroid Build Coastguard Worker }
240*89c4ff92SAndroid Build Coastguard Worker 
241*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_Elu_CpuAcc_Test")
242*89c4ff92SAndroid Build Coastguard Worker {
243*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
244*89c4ff92SAndroid Build Coastguard Worker     ActivationEluTest(backends);
245*89c4ff92SAndroid Build Coastguard Worker }
246*89c4ff92SAndroid Build Coastguard Worker 
247*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_HardSwish_CpuAcc_Test")
248*89c4ff92SAndroid Build Coastguard Worker {
249*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::CpuAcc };
250*89c4ff92SAndroid Build Coastguard Worker     ActivationHardSwishTest(backends);
251*89c4ff92SAndroid Build Coastguard Worker }
252*89c4ff92SAndroid Build Coastguard Worker 
253*89c4ff92SAndroid Build Coastguard Worker }
254*89c4ff92SAndroid Build Coastguard Worker 
255*89c4ff92SAndroid Build Coastguard Worker TEST_SUITE("Activation_GpuAccTests")
256*89c4ff92SAndroid Build Coastguard Worker {
257*89c4ff92SAndroid Build Coastguard Worker 
258*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_ReLu_GpuAcc_Test")
259*89c4ff92SAndroid Build Coastguard Worker {
260*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
261*89c4ff92SAndroid Build Coastguard Worker     ActivationReLuTest(backends);
262*89c4ff92SAndroid Build Coastguard Worker }
263*89c4ff92SAndroid Build Coastguard Worker 
264*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_Bounded_Relu6_GpuAcc_Test")
265*89c4ff92SAndroid Build Coastguard Worker {
266*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
267*89c4ff92SAndroid Build Coastguard Worker     ActivationBoundedReluTest(backends);
268*89c4ff92SAndroid Build Coastguard Worker }
269*89c4ff92SAndroid Build Coastguard Worker 
270*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_Sigmoid_GpuAcc_Test")
271*89c4ff92SAndroid Build Coastguard Worker {
272*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
273*89c4ff92SAndroid Build Coastguard Worker     ActivationSigmoidTest(backends);
274*89c4ff92SAndroid Build Coastguard Worker }
275*89c4ff92SAndroid Build Coastguard Worker 
276*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_TanH_GpuAcc_Test")
277*89c4ff92SAndroid Build Coastguard Worker {
278*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
279*89c4ff92SAndroid Build Coastguard Worker     ActivationTanHTest(backends);
280*89c4ff92SAndroid Build Coastguard Worker }
281*89c4ff92SAndroid Build Coastguard Worker 
282*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_Elu_GpuAcc_Test")
283*89c4ff92SAndroid Build Coastguard Worker {
284*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
285*89c4ff92SAndroid Build Coastguard Worker     ActivationEluTest(backends);
286*89c4ff92SAndroid Build Coastguard Worker }
287*89c4ff92SAndroid Build Coastguard Worker 
288*89c4ff92SAndroid Build Coastguard Worker TEST_CASE ("Activation_HardSwish_GpuAcc_Test")
289*89c4ff92SAndroid Build Coastguard Worker {
290*89c4ff92SAndroid Build Coastguard Worker     std::vector<armnn::BackendId> backends = { armnn::Compute::GpuAcc };
291*89c4ff92SAndroid Build Coastguard Worker     ActivationHardSwishTest(backends);
292*89c4ff92SAndroid Build Coastguard Worker }
293*89c4ff92SAndroid Build Coastguard Worker 
294*89c4ff92SAndroid Build Coastguard Worker }
295*89c4ff92SAndroid Build Coastguard Worker 
296*89c4ff92SAndroid Build Coastguard Worker } // namespace armnnDelegate