From ae93173f7b37285ed107d4fa38adbe8669280e25 Mon Sep 17 00:00:00 2001 From: Tianle Cheng Date: Fri, 28 Jul 2023 11:53:04 +0100 Subject: IVGCVSW-7451 LEAKY_RELU not supported by delegate * Added LEAKY_RELU support to classic and opaque delegate * CMake files updated * Test added Signed-off-by: Tianle Cheng Change-Id: Ib9a2ce8f637b14afcd796bbae11fd3fa03653a2c --- delegate/opaque/src/Activation.hpp | 9 +++++++++ delegate/opaque/src/armnn_delegate.cpp | 6 ++++++ 2 files changed, 15 insertions(+) (limited to 'delegate/opaque') diff --git a/delegate/opaque/src/Activation.hpp b/delegate/opaque/src/Activation.hpp index 9fce7a12e0..f56609001a 100644 --- a/delegate/opaque/src/Activation.hpp +++ b/delegate/opaque/src/Activation.hpp @@ -166,6 +166,15 @@ TfLiteStatus VisitActivationOperator(DelegateData& delegateData, activationDesc.m_Function = armnn::ActivationFunction::HardSwish; break; } + case kTfLiteBuiltinLeakyRelu: + { + // Get alpha param from builtin data + auto* leakyReluParameters = + reinterpret_cast(TfLiteOpaqueNodeGetBuiltinData(tfLiteNode)); + activationDesc.m_Function = armnn::ActivationFunction::LeakyReLu; + activationDesc.m_A = leakyReluParameters->alpha; + break; + } default: { return kTfLiteError; diff --git a/delegate/opaque/src/armnn_delegate.cpp b/delegate/opaque/src/armnn_delegate.cpp index 49fa30d8f0..60da293eb2 100644 --- a/delegate/opaque/src/armnn_delegate.cpp +++ b/delegate/opaque/src/armnn_delegate.cpp @@ -828,6 +828,12 @@ TfLiteStatus ArmnnSubgraph::VisitNode(DelegateData& delegateData, tfLiteNode, nodeIndex, kTfLiteBuiltinL2Pool2d); + case kTfLiteBuiltinLeakyRelu: + return VisitActivationOperator(delegateData, + tfLiteContext, + tfLiteNode, + nodeIndex, + kTfLiteBuiltinLeakyRelu); case kTfLiteBuiltinLess: return VisitComparisonOperator(delegateData, tfLiteContext, -- cgit v1.2.1