aboutsummaryrefslogtreecommitdiff
path: root/src/backends/neon/NeonLayerSupport.cpp
diff options
context:
space:
mode:
authorEllen Norris-Thompson <ellen.norris-thompson@arm.com>2019-07-15 14:23:30 +0100
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2019-07-17 16:36:30 +0000
commit37e68686a4889b6e79b035356202903647671f13 (patch)
treef248e6ba83a3dcecc0c0bef829123a4378c23e99 /src/backends/neon/NeonLayerSupport.cpp
parentbcca1f4a7ba8364f7b5e58e8e8866ccd7d530f92 (diff)
downloadarmnn-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.cpp29
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,