diff options
author | Tracy Narine <tracy.narine@arm.com> | 2023-11-28 11:55:08 +0000 |
---|---|---|
committer | Tracy Narine <tracy.narine@arm.com> | 2024-01-17 20:19:09 +0000 |
commit | 10403ec9f214d4fec2b85866882a9bc707852412 (patch) | |
tree | cf1bef9015d228f9c84cada5386a085781d38f57 /src/backends/backendsCommon/test/ActivationEndToEndTestImpl.hpp | |
parent | 8ded1788e93886c687c86c1136e34cf0ed7acf47 (diff) | |
download | armnn-10403ec9f214d4fec2b85866882a9bc707852412.tar.gz |
IVGCVSW-7344 Add LeakyRelu Activation support to TOSA Reference Backend
* Adding a one to many FP32 tosa mapping for Leaky Relu
* Added a few utilities that are needed
* Added new tests
Signed-off-by: Tracy Narine <tracy.narine@arm.com>
Change-Id: If1d7c57a523961581777a244416a7346a9310803
Diffstat (limited to 'src/backends/backendsCommon/test/ActivationEndToEndTestImpl.hpp')
-rw-r--r-- | src/backends/backendsCommon/test/ActivationEndToEndTestImpl.hpp | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/backends/backendsCommon/test/ActivationEndToEndTestImpl.hpp b/src/backends/backendsCommon/test/ActivationEndToEndTestImpl.hpp index c6d49b1df6..996e7605d2 100644 --- a/src/backends/backendsCommon/test/ActivationEndToEndTestImpl.hpp +++ b/src/backends/backendsCommon/test/ActivationEndToEndTestImpl.hpp @@ -1,5 +1,5 @@ // -// Copyright © 2020-2021,2023 Arm Ltd and Contributors. All rights reserved. +// Copyright © 2020-2021,2023-2024 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // #pragma once @@ -171,4 +171,31 @@ void HardSwishEndToEndTest(const std::vector<BackendId>& backends) descriptor); } -} // anonymous namespace
\ No newline at end of file +/** Executes an end to end test for Leaky Relu activation with specific input and expected-output data + * + * @tparam ArmnnType The armnn data type for the input and expected-output data + * @param backends The backends on which to run the test + */ +template<armnn::DataType ArmnnType> +void LeakyReluEndToEndTest(const std::vector<BackendId>& backends, const float qScale=1.0f, const int32_t qOffset=0) +{ + std::vector<float> floatInputData{ -2.0f, -1.0f, -0.0f, 0.0f, + 1.0f, 2.0f, 3.0f, 4.0f }; + + std::vector<float> floatExpectedOutputData{ -0.02f, -0.01f, -0.0f, 0.0f, + 1.0f, 2.0f, 3.0f, 4.0f }; + + armnn::TensorInfo inputInfo({ 2, 2, 2, 1 }, ArmnnType, qScale, qOffset, true); + armnn::TensorInfo outputInfo({ 2, 2, 2, 1 }, ArmnnType, qScale, qOffset); + + armnn::ActivationDescriptor descriptor(ActivationFunction::LeakyReLu, static_cast<float>(0.01)); + + ActivationEndToEndImpl<ArmnnType>(backends, + floatInputData, + floatExpectedOutputData, + inputInfo, + outputInfo, + descriptor); +} + +} // anonymous namespace |