aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2024-04-23 13:03:40 +0100
committerTeresaARM <teresa.charlinreyes@arm.com>2024-04-24 10:45:14 +0000
commita42e006dbaface834dae7a5f182d67789fb4daf5 (patch)
tree420c62f32292bfd56227d72b29acd9a5726e27bd
parentceb442825b8c19e2450fa7bd43341d571a9b2eeb (diff)
downloadarmnn-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
-rw-r--r--src/backends/tosaCommon/operatorMappings/ActivationOperator.cpp3
-rw-r--r--src/backends/tosaCommon/test/OneToManyMappingTests.cpp12
-rw-r--r--src/backends/tosaReference/test/TosaRefEndToEndTests.cpp20
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")
{