aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon
diff options
context:
space:
mode:
authorFrancis Murtagh <francis.murtagh@arm.com>2019-08-09 13:20:50 +0100
committerMatteo Martincigh <matteo.martincigh@arm.com>2019-08-09 12:57:48 +0000
commitb3fc252b0763a847354c88d1a33f8f48d3c5a10c (patch)
tree8e9b8d4b0603756989f5efcdaf311689accd1b5d /src/backends/neon
parent6b4dfc2df9271b2e9e0b9e0e0a78f715ddebf36e (diff)
downloadarmnn-b3fc252b0763a847354c88d1a33f8f48d3c5a10c.tar.gz
IVGCVSW-3474 Add end to end tests for Quantized_LSTM
Change-Id: Iaec6956b5c459308d77d29f699ae4558bee66cd5 Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Diffstat (limited to 'src/backends/neon')
-rw-r--r--src/backends/neon/NeonLayerSupport.cpp14
-rw-r--r--src/backends/neon/NeonWorkloadFactory.cpp5
-rw-r--r--src/backends/neon/test/NeonEndToEndTests.cpp6
-rw-r--r--src/backends/neon/workloads/NeonQuantizedLstmWorkload.hpp1
4 files changed, 11 insertions, 15 deletions
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<std::string&> 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<std::string&> 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<ITensorHandle> NeonWorkloadFactory::CreateTensorHandle(const Ten
std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateInput(const InputQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return MakeWorkloadHelper<CopyMemGenericWorkload, CopyMemGenericWorkload>(descriptor, info);
+ return std::make_unique<CopyMemGenericWorkload>(descriptor, info);
}
std::unique_ptr<IWorkload> NeonWorkloadFactory::CreateOutput(const OutputQueueDescriptor& descriptor,
const WorkloadInfo& info) const
{
- return MakeWorkloadHelper<CopyMemGenericWorkload, CopyMemGenericWorkload,
- CopyMemGenericWorkload, NullWorkload, CopyMemGenericWorkload>(descriptor, info);
+ return std::make_unique<CopyMemGenericWorkload>(descriptor, info);
}
std::unique_ptr<IWorkload> 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 <backendsCommon/test/ConcatTestImpl.hpp>
#include <backendsCommon/test/DequantizeEndToEndTestImpl.hpp>
#include <backendsCommon/test/PreluEndToEndTestImpl.hpp>
+#include <backendsCommon/test/QuantizedLstmEndToEndTestImpl.hpp>
#include <backendsCommon/test/SpaceToDepthEndToEndTestImpl.hpp>
#include <backendsCommon/test/SplitterEndToEndTestImpl.hpp>
@@ -267,4 +268,9 @@ BOOST_AUTO_TEST_CASE(NeonSplitter4dDim3EndToEndUint8Test)
Splitter4dDim3EndToEnd<armnn::DataType::QuantisedAsymm8>(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<QuantizedLstmQueueDescriptor>
{
public:
+ using BaseWorkload<QuantizedLstmQueueDescriptor>::m_Data;
NeonQuantizedLstmWorkload(const QuantizedLstmQueueDescriptor& descriptor, const WorkloadInfo& info);
virtual void Execute() const override;