From 07fbe3707608bf0c08efb42e15d9b1afaf16ef1e Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Tue, 4 Feb 2020 13:21:02 +0000 Subject: COMPMID-2819: Enable PadLayer on NEON graph backend. Signed-off-by: Georgios Pinitas Change-Id: I0114d6999413cbb0602db19c68b9c41c419c6df0 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2682 Reviewed-by: Giuseppe Rossini Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins --- arm_compute/graph/nodes/PadLayerNode.h | 4 ++-- src/graph/backends/NEON/NEFunctionFactory.cpp | 2 ++ src/graph/backends/NEON/NENodeValidator.cpp | 4 ++-- src/graph/nodes/PadLayerNode.cpp | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/arm_compute/graph/nodes/PadLayerNode.h b/arm_compute/graph/nodes/PadLayerNode.h index 7d40ae8ace..0b1bddac9b 100644 --- a/arm_compute/graph/nodes/PadLayerNode.h +++ b/arm_compute/graph/nodes/PadLayerNode.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -39,7 +39,7 @@ public: * @param[in] padding The padding for each spatial dimension of the input tensor. The pair padding[i] * specifies the front and the end padding in the i-th dimension. */ - PadLayerNode(PaddingList &padding); + PadLayerNode(const PaddingList &padding); /** Padding list accessor * * @return Padding list diff --git a/src/graph/backends/NEON/NEFunctionFactory.cpp b/src/graph/backends/NEON/NEFunctionFactory.cpp index d72cffabd6..3597139003 100644 --- a/src/graph/backends/NEON/NEFunctionFactory.cpp +++ b/src/graph/backends/NEON/NEFunctionFactory.cpp @@ -225,6 +225,8 @@ std::unique_ptr NEFunctionFactory::create(INode *node, GraphContext & return detail::create_fused_depthwise_convolution_batch_normalization_layer(*polymorphic_downcast(node), ctx); case NodeType::NormalizationLayer: return detail::create_normalization_layer(*polymorphic_downcast(node), ctx); + case NodeType::PadLayer: + return detail::create_pad_layer(*polymorphic_downcast(node)); case NodeType::PermuteLayer: return detail::create_permute_layer(*polymorphic_downcast(node)); case NodeType::PoolingLayer: diff --git a/src/graph/backends/NEON/NENodeValidator.cpp b/src/graph/backends/NEON/NENodeValidator.cpp index fc849595ff..ec8c0e5222 100644 --- a/src/graph/backends/NEON/NENodeValidator.cpp +++ b/src/graph/backends/NEON/NENodeValidator.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -70,7 +70,7 @@ Status NENodeValidator::validate(INode *node) case NodeType::NormalizePlanarYUVLayer: return ARM_COMPUTE_CREATE_ERROR(arm_compute::ErrorCode::RUNTIME_ERROR, "Unsupported operation : NormalizePlanarYUVLayer"); case NodeType::PadLayer: - return ARM_COMPUTE_CREATE_ERROR(arm_compute::ErrorCode::RUNTIME_ERROR, "Unsupported operation : PadLayer"); + return detail::validate_pad_layer(*polymorphic_downcast(node)); case NodeType::PermuteLayer: return detail::validate_permute_layer(*polymorphic_downcast(node)); case NodeType::PriorBoxLayer: diff --git a/src/graph/nodes/PadLayerNode.cpp b/src/graph/nodes/PadLayerNode.cpp index e7996d2684..1bd0776b35 100644 --- a/src/graph/nodes/PadLayerNode.cpp +++ b/src/graph/nodes/PadLayerNode.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -32,7 +32,7 @@ namespace arm_compute { namespace graph { -PadLayerNode::PadLayerNode(PaddingList &padding) +PadLayerNode::PadLayerNode(const PaddingList &padding) : _padding(padding) { _input_edges.resize(1, EmptyEdgeID); -- cgit v1.2.1