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 };