diff options
author | Aron Virginas-Tar <Aron.Virginas-Tar@arm.com> | 2018-10-15 15:00:13 +0100 |
---|---|---|
committer | Matthew Bentham <matthew.bentham@arm.com> | 2018-10-22 16:57:54 +0100 |
commit | fc82431755edb950b46aaeda5725635c1fe7d02d (patch) | |
tree | 0acadb71dbd2ff1213e9ab2ebd9fa4cc696f1b73 /src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp | |
parent | bcf9f16605e8ce084a0c188abd16ee2bd56e59f4 (diff) | |
download | armnn-fc82431755edb950b46aaeda5725635c1fe7d02d.tar.gz |
IVGCVSW-2003: Get rid of IsLayerSupportedNeon functions in favor of ILayerSupport interface
Change-Id: I03985ff678acf9393680340638a2e1f425b9966f
Diffstat (limited to 'src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp')
-rw-r--r-- | src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp b/src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp index 0deff79dac..1894048788 100644 --- a/src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp +++ b/src/backends/neon/workloads/NeonNormalizationFloatWorkload.cpp @@ -13,6 +13,34 @@ using namespace armnn::armcomputetensorutils; namespace armnn { +namespace +{ + +bool IsNeonNormalizationDescriptorSupported(const NormalizationDescriptor& parameters, + Optional<std::string&> reasonIfUnsupported) +{ + if (parameters.m_NormMethodType != NormalizationAlgorithmMethod::LocalBrightness) + { + if (reasonIfUnsupported) + { + reasonIfUnsupported.value() = "Unsupported normalisation method type, only LocalBrightness is supported"; + } + return false; + } + if (parameters.m_NormSize % 2 == 0) + { + if (reasonIfUnsupported) + { + reasonIfUnsupported.value() = "Normalization size must be an odd number."; + } + return false; + } + + return true; +} + +} // anonymous namespace + arm_compute::Status NeonNormalizationWorkloadValidate(const TensorInfo& input, const TensorInfo& output, const NormalizationDescriptor& descriptor) @@ -33,7 +61,7 @@ NeonNormalizationFloatWorkload::NeonNormalizationFloatWorkload(const Normalizati { m_Data.ValidateInputsOutputs("NeonNormalizationFloatWorkload", 1, 1); std::string reasonIfUnsupported; - if (!IsNeonNormalizationDescParamsSupported(Optional<std::string&>(reasonIfUnsupported), m_Data.m_Parameters)) + if (!IsNeonNormalizationDescriptorSupported(m_Data.m_Parameters, Optional<std::string&>(reasonIfUnsupported))) { throw UnimplementedException(reasonIfUnsupported); } |