xref: /aosp_15_r20/external/armnn/src/backends/backendsCommon/test/ActivationFixture.hpp (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker //
2*89c4ff92SAndroid Build Coastguard Worker // Copyright © 2017 Arm Ltd. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker // SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker //
5*89c4ff92SAndroid Build Coastguard Worker #pragma once
6*89c4ff92SAndroid Build Coastguard Worker 
7*89c4ff92SAndroid Build Coastguard Worker #include <armnnTestUtils/TensorCopyUtils.hpp>
8*89c4ff92SAndroid Build Coastguard Worker #include <armnnTestUtils/WorkloadTestUtils.hpp>
9*89c4ff92SAndroid Build Coastguard Worker 
10*89c4ff92SAndroid Build Coastguard Worker #include <armnn/utility/NumericCast.hpp>
11*89c4ff92SAndroid Build Coastguard Worker 
12*89c4ff92SAndroid Build Coastguard Worker #include <armnnTestUtils/TensorHelpers.hpp>
13*89c4ff92SAndroid Build Coastguard Worker 
14*89c4ff92SAndroid Build Coastguard Worker struct ActivationFixture
15*89c4ff92SAndroid Build Coastguard Worker {
ActivationFixtureActivationFixture16*89c4ff92SAndroid Build Coastguard Worker     ActivationFixture()
17*89c4ff92SAndroid Build Coastguard Worker     {
18*89c4ff92SAndroid Build Coastguard Worker         output.resize(batchSize * channels * height * width);
19*89c4ff92SAndroid Build Coastguard Worker         outputExpected.resize(batchSize * channels * height * width);
20*89c4ff92SAndroid Build Coastguard Worker         input.resize(batchSize * channels * height * width);
21*89c4ff92SAndroid Build Coastguard Worker 
22*89c4ff92SAndroid Build Coastguard Worker         unsigned int inputShape[]  = { batchSize, channels, height, width };
23*89c4ff92SAndroid Build Coastguard Worker         unsigned int outputShape[] = { batchSize, channels, height, width };
24*89c4ff92SAndroid Build Coastguard Worker 
25*89c4ff92SAndroid Build Coastguard Worker         inputTensorInfo = armnn::TensorInfo(4, inputShape, armnn::DataType::Float32);
26*89c4ff92SAndroid Build Coastguard Worker         outputTensorInfo = armnn::TensorInfo(4, outputShape, armnn::DataType::Float32);
27*89c4ff92SAndroid Build Coastguard Worker 
28*89c4ff92SAndroid Build Coastguard Worker         input = MakeRandomTensor<float>(inputTensorInfo, 21453);
29*89c4ff92SAndroid Build Coastguard Worker     }
30*89c4ff92SAndroid Build Coastguard Worker 
31*89c4ff92SAndroid Build Coastguard Worker     unsigned int width     = 17;
32*89c4ff92SAndroid Build Coastguard Worker     unsigned int height    = 29;
33*89c4ff92SAndroid Build Coastguard Worker     unsigned int channels  = 2;
34*89c4ff92SAndroid Build Coastguard Worker     unsigned int batchSize = 5;
35*89c4ff92SAndroid Build Coastguard Worker 
36*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> output;
37*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> outputExpected;
38*89c4ff92SAndroid Build Coastguard Worker     std::vector<float> input;
39*89c4ff92SAndroid Build Coastguard Worker 
40*89c4ff92SAndroid Build Coastguard Worker     armnn::TensorInfo inputTensorInfo;
41*89c4ff92SAndroid Build Coastguard Worker     armnn::TensorInfo outputTensorInfo;
42*89c4ff92SAndroid Build Coastguard Worker 
43*89c4ff92SAndroid Build Coastguard Worker     // Parameters used by some of the activation functions.
44*89c4ff92SAndroid Build Coastguard Worker     float a = 0.234f;
45*89c4ff92SAndroid Build Coastguard Worker     float b = -12.345f;
46*89c4ff92SAndroid Build Coastguard Worker };
47*89c4ff92SAndroid Build Coastguard Worker 
48*89c4ff92SAndroid Build Coastguard Worker 
49*89c4ff92SAndroid Build Coastguard Worker struct PositiveActivationFixture : public ActivationFixture
50*89c4ff92SAndroid Build Coastguard Worker {
PositiveActivationFixturePositiveActivationFixture51*89c4ff92SAndroid Build Coastguard Worker     PositiveActivationFixture()
52*89c4ff92SAndroid Build Coastguard Worker     {
53*89c4ff92SAndroid Build Coastguard Worker         input = MakeRandomTensor<float>(inputTensorInfo, 2342423, 0.0f, 1.0f);
54*89c4ff92SAndroid Build Coastguard Worker     }
55*89c4ff92SAndroid Build Coastguard Worker };