From b3fc252b0763a847354c88d1a33f8f48d3c5a10c Mon Sep 17 00:00:00 2001 From: Francis Murtagh Date: Fri, 9 Aug 2019 13:20:50 +0100 Subject: IVGCVSW-3474 Add end to end tests for Quantized_LSTM Change-Id: Iaec6956b5c459308d77d29f699ae4558bee66cd5 Signed-off-by: Francis Murtagh --- src/backends/neon/NeonLayerSupport.cpp | 14 ++------------ src/backends/neon/NeonWorkloadFactory.cpp | 5 ++--- src/backends/neon/test/NeonEndToEndTests.cpp | 6 ++++++ src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp | 1 + 4 files changed, 11 insertions(+), 15 deletions(-) (limited to 'src/backends/neon') diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp index b3a57e2cd5..bddee11f50 100644 --- a/src/backends/neon/NeonLayerSupport.cpp +++ b/src/backends/neon/NeonLayerSupport.cpp @@ -323,10 +323,7 @@ bool NeonLayerSupport::IsGreaterSupported(const armnn::TensorInfo& input0, bool NeonLayerSupport::IsInputSupported(const TensorInfo& input, Optional reasonIfUnsupported) const { - return IsSupportedForDataTypeNeon(reasonIfUnsupported, - input.GetDataType(), - &TrueFunc<>, - &TrueFunc<>); + return IsNeonBackendSupported(reasonIfUnsupported); } bool NeonLayerSupport::IsL2NormalizationSupported(const TensorInfo& input, @@ -432,14 +429,7 @@ bool NeonLayerSupport::IsNormalizationSupported(const TensorInfo& input, bool NeonLayerSupport::IsOutputSupported(const TensorInfo& output, Optional reasonIfUnsupported) const { - return IsNeonBackendSupported(reasonIfUnsupported) && - IsSupportedForDataTypeGeneric(reasonIfUnsupported, - output.GetDataType(), - &TrueFunc<>, - &TrueFunc<>, - &TrueFunc<>, - &FalseFuncI32<>, - &TrueFunc<>); + return IsNeonBackendSupported(reasonIfUnsupported); } bool NeonLayerSupport::IsPadSupported(const TensorInfo& input, diff --git a/src/backends/neon/NeonWorkloadFactory.cpp b/src/backends/neon/NeonWorkloadFactory.cpp index 0e66bfc757..77660c3b0a 100644 --- a/src/backends/neon/NeonWorkloadFactory.cpp +++ b/src/backends/neon/NeonWorkloadFactory.cpp @@ -92,14 +92,13 @@ std::unique_ptr NeonWorkloadFactory::CreateTensorHandle(const Ten std::unique_ptr NeonWorkloadFactory::CreateInput(const InputQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkloadHelper(descriptor, info); + return std::make_unique(descriptor, info); } std::unique_ptr NeonWorkloadFactory::CreateOutput(const OutputQueueDescriptor& descriptor, const WorkloadInfo& info) const { - return MakeWorkloadHelper(descriptor, info); + return std::make_unique(descriptor, info); } std::unique_ptr NeonWorkloadFactory::CreateActivation(const ActivationQueueDescriptor& descriptor, diff --git a/src/backends/neon/test/NeonEndToEndTests.cpp b/src/backends/neon/test/NeonEndToEndTests.cpp index 18af99e81b..81e5d80cbe 100644 --- a/src/backends/neon/test/NeonEndToEndTests.cpp +++ b/src/backends/neon/test/NeonEndToEndTests.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -267,4 +268,9 @@ BOOST_AUTO_TEST_CASE(NeonSplitter4dDim3EndToEndUint8Test) Splitter4dDim3EndToEnd(defaultBackends); } +BOOST_AUTO_TEST_CASE(NeonQuantizedLstmEndToEndTest) +{ + QuantizedLstmEndToEnd(defaultBackends); +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp b/src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp index ab8ea71437..c3bcf785ad 100644 --- a/src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp +++ b/src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp @@ -17,6 +17,7 @@ namespace armnn class NeonQuantizedLstmWorkload : public BaseWorkload { public: + using BaseWorkload::m_Data; NeonQuantizedLstmWorkload(const QuantizedLstmQueueDescriptor& descriptor, const WorkloadInfo& info); virtual void Execute() const override; -- cgit v1.2.1