diff options
author | Teresa Charlin <teresa.charlinreyes@arm.com> | 2024-04-23 13:03:40 +0100 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2024-04-24 10:45:14 +0000 |
commit | a42e006dbaface834dae7a5f182d67789fb4daf5 (patch) | |
tree | 420c62f32292bfd56227d72b29acd9a5726e27bd | |
parent | ceb442825b8c19e2450fa7bd43341d571a9b2eeb (diff) | |
download | armnn-a42e006dbaface834dae7a5f182d67789fb4daf5.tar.gz |
IVGCVSW-8205 For leakyRelu, add TosaRefEndToEndTests and Fp16 in mappings
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: I70f81d17b696c30bf7a06491281184c4ddb8afc1
3 files changed, 24 insertions, 11 deletions
diff --git a/src/backends/tosaCommon/operatorMappings/ActivationOperator.cpp b/src/backends/tosaCommon/operatorMappings/ActivationOperator.cpp index c3e424ea83..c17c4c70fe 100644 --- a/src/backends/tosaCommon/operatorMappings/ActivationOperator.cpp +++ b/src/backends/tosaCommon/operatorMappings/ActivationOperator.cpp @@ -68,7 +68,8 @@ TosaSerializationBasicBlock* ConvertActivationToTosaOperator(const Layer* layer, #if TOSA_COMPAT_VERSION(0, 60, 0) std::string outputNameMAXMIN= std::string("intermediate3_") + GetUniqueTosaMappingID(); - if (inputDType0 == DType::DType_FP32) + if (inputDType0 == DType::DType_FP32 || + inputDType0 == DType::DType_FP16) { // const_alpha TosaSerializationOperator* alphaOp = nullptr; diff --git a/src/backends/tosaCommon/test/OneToManyMappingTests.cpp b/src/backends/tosaCommon/test/OneToManyMappingTests.cpp index cc129f3e14..5a34ac2db4 100644 --- a/src/backends/tosaCommon/test/OneToManyMappingTests.cpp +++ b/src/backends/tosaCommon/test/OneToManyMappingTests.cpp @@ -200,17 +200,9 @@ TEST_CASE("GetTosaMapping_ActivationFloat32") ActivationEndToEndTest<DataType::Float32>(tosaDefaultBackends, ActivationFunction::LeakyReLu, 1.f, 0, 0.01f); } -TEST_CASE("UNSUPPORTED_GetTosaMapping_ActivationFloat16") +TEST_CASE("GetTosaMapping_ActivationFloat16") { - try - { - ActivationEndToEndTest<DataType::Float16>(tosaDefaultBackends, ActivationFunction::LeakyReLu, 1.f, 0, 0.01f); - FAIL("An exception should have been thrown"); - } - catch (armnn::Exception& e) - { - CHECK_EQ(std::string(e.what()), "Failed to assign a backend to each layer"); - } + ActivationEndToEndTest<DataType::Float16>(tosaDefaultBackends, ActivationFunction::LeakyReLu, 1.f, 0, 0.01f); } TEST_CASE("GetTosaMapping_ActivationInt32") diff --git a/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp b/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp index f5edfb0e0b..a5f7ad88a8 100644 --- a/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp +++ b/src/backends/tosaReference/test/TosaRefEndToEndTests.cpp @@ -5,6 +5,7 @@ #include "backendsCommon/test/EndToEndTestImpl.hpp" +#include "backendsCommon/test/ActivationEndToEndTestImpl.hpp" #include "backendsCommon/test/AdditionEndToEndTestImpl.hpp" #include "backendsCommon/test/Convolution2dEndToEndTestImpl.hpp" #include "backendsCommon/test/ConcatEndToEndTestImpl.hpp" @@ -27,6 +28,25 @@ TEST_SUITE("TosaRefEndToEnd") { static std::vector<BackendId> tosaDefaultBackends = { "TosaRef" }; +// Activation +//LeakyRelu +TEST_CASE("TosaRefLeakyReluActivationFloat32") +{ + ActivationEndToEndTest<DataType::Float32>(tosaDefaultBackends, ActivationFunction::LeakyReLu, 1.f, 0, 0.01f); +} +TEST_CASE("TosaRefLeakyReluActivationFloat16") +{ + ActivationEndToEndTest<DataType::Float16>(tosaDefaultBackends, ActivationFunction::LeakyReLu, 0.3f, 5, 0.01f); +} +TEST_CASE("TosaRefLeakyReluActivationInt8") +{ + ActivationEndToEndTest<DataType::QAsymmS8>(tosaDefaultBackends, ActivationFunction::LeakyReLu, 0.6f, 7, 0.01f); +} +TEST_CASE("TosaRefLeakyReluActivationInt16") +{ + ActivationEndToEndTest<DataType::QSymmS16>(tosaDefaultBackends, ActivationFunction::LeakyReLu, 0.15f, 0, 0.01f); +} + // Addition TEST_CASE("TosaRefAdditionEndtoEndTestFloat32") { |