diff options
author | Ellen Norris-Thompson <ellen.norris-thompson@arm.com> | 2019-07-15 14:23:30 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-07-17 16:36:30 +0000 |
commit | 37e68686a4889b6e79b035356202903647671f13 (patch) | |
tree | f248e6ba83a3dcecc0c0bef829123a4378c23e99 /src/backends/neon/NeonLayerSupport.cpp | |
parent | bcca1f4a7ba8364f7b5e58e8e8866ccd7d530f92 (diff) | |
download | armnn-37e68686a4889b6e79b035356202903647671f13.tar.gz |
IVGCVSW-3297 Add Neon backend support for ResizeNearestNeighbour
* Renamed NeonResizeBilinearWorkload.* to NeonResizeWorkload.* and added support for ResizeNearestNeighbour
* Added CreateWorkload and LayerTests for Neon backend
Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>
Change-Id: I72f5340608a0928f8b32a41d1915ee2c35849f18
Diffstat (limited to 'src/backends/neon/NeonLayerSupport.cpp')
-rw-r--r-- | src/backends/neon/NeonLayerSupport.cpp | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp index ea875f6926..cb709c315a 100644 --- a/src/backends/neon/NeonLayerSupport.cpp +++ b/src/backends/neon/NeonLayerSupport.cpp @@ -39,7 +39,7 @@ #include "workloads/NeonPooling2dWorkload.hpp" #include "workloads/NeonPreluWorkload.hpp" #include "workloads/NeonQuantizeWorkload.hpp" -#include "workloads/NeonResizeBilinearWorkload.hpp" +#include "workloads/NeonResizeWorkload.hpp" #include "workloads/NeonSoftmaxBaseWorkload.hpp" #include "workloads/NeonSpaceToDepthWorkload.hpp" #include "workloads/NeonSplitterWorkload.hpp" @@ -511,25 +511,26 @@ bool NeonLayerSupport::IsResizeSupported(const TensorInfo& input, const ResizeDescriptor& descriptor, Optional<std::string&> reasonIfUnsupported) const { - if (descriptor.m_Method == ResizeMethod::Bilinear) - { - FORWARD_WORKLOAD_VALIDATE_FUNC(NeonResizeBilinearWorkloadValidate, - reasonIfUnsupported, - input, - output); - } - - return false; + FORWARD_WORKLOAD_VALIDATE_FUNC(NeonResizeWorkloadValidate, + reasonIfUnsupported, + input, + output, + descriptor); } bool NeonLayerSupport::IsResizeBilinearSupported(const TensorInfo& input, const TensorInfo& output, Optional<std::string&> reasonIfUnsupported) const { - FORWARD_WORKLOAD_VALIDATE_FUNC(NeonResizeBilinearWorkloadValidate, - reasonIfUnsupported, - input, - output); + ResizeDescriptor descriptor; + descriptor.m_Method = ResizeMethod::Bilinear; + descriptor.m_DataLayout = DataLayout::NCHW; + + const TensorShape& outputShape = output.GetShape(); + descriptor.m_TargetHeight = outputShape[2]; + descriptor.m_TargetWidth = outputShape[3]; + + return IsResizeSupported(input, output, descriptor, reasonIfUnsupported); } bool NeonLayerSupport::IsSoftmaxSupported(const TensorInfo& input, |