From c1b76faf6be5c33dbf3269faea95e185ac37992f Mon Sep 17 00:00:00 2001 From: Manuel Bottini Date: Mon, 17 Jun 2019 12:04:40 +0100 Subject: COMPMID-2092: Refactoring interface for the deconvolution kernels (NEON/CL) 3RDPARTY_UPDATE Change-Id: Id7ddf97e2c9ceb2cb84084fab2c6f5697890c193 Signed-off-by: giuros01 Reviewed-on: https://review.mlplatform.org/c/1424 Comments-Addressed: Arm Jenkins Tested-by: Arm Jenkins Reviewed-by: Georgios Pinitas --- arm_compute/graph/GraphBuilder.h | 3 +-- arm_compute/graph/backends/FunctionHelpers.h | 5 ++--- arm_compute/graph/frontend/Layers.h | 20 ++++++++------------ arm_compute/graph/nodes/DeconvolutionLayerNode.h | 13 +++---------- 4 files changed, 14 insertions(+), 27 deletions(-) (limited to 'arm_compute/graph') diff --git a/arm_compute/graph/GraphBuilder.h b/arm_compute/graph/GraphBuilder.h index 0aaed1da7d..e1049ca938 100644 --- a/arm_compute/graph/GraphBuilder.h +++ b/arm_compute/graph/GraphBuilder.h @@ -155,14 +155,13 @@ public: * @param[in] kernel_spatial_extend Spatial extend of convolution kernels * @param[in] depth Number of convolution kernels * @param[in] deconv_info Convolution layer information - * @param[in] inner_border Inner border (right, top) * @param[in] weights_accessor (Optional) Accessor of the weights node data * @param[in] bias_accessor (Optional) Accessor of the bias node data * * @return Node ID of the created node, EmptyNodeID in case of error */ static NodeID add_deconvolution_node(Graph &g, NodeParams params, NodeIdxPair input, - Size2D kernel_spatial_extend, unsigned int depth, PadStrideInfo deconv_info, Size2D inner_border, + Size2D kernel_spatial_extend, unsigned int depth, PadStrideInfo deconv_info, ITensorAccessorUPtr weights_accessor = nullptr, ITensorAccessorUPtr bias_accessor = nullptr); /** Adds a depth concatenate node to the graph * diff --git a/arm_compute/graph/backends/FunctionHelpers.h b/arm_compute/graph/backends/FunctionHelpers.h index fbf8d17f67..5ac4fdaed9 100644 --- a/arm_compute/graph/backends/FunctionHelpers.h +++ b/arm_compute/graph/backends/FunctionHelpers.h @@ -462,8 +462,7 @@ std::unique_ptr create_deconvolution_layer(DeconvolutionLayerNode &no typename TargetInfo::TensorType *biases = get_backing_tensor(node.input(2)); typename TargetInfo::TensorType *output = get_backing_tensor(node.output(0)); - const PadStrideInfo deconv_info = node.deconvolution_info(); - const Size2D inner_border = node.inner_border(); + const PadStrideInfo deconv_info = node.deconvolution_info(); // Create and configure function (we assume that functions have been validated before creation) std::shared_ptr mm = get_memory_manager(ctx, TargetInfo::TargetType); @@ -471,7 +470,7 @@ std::unique_ptr create_deconvolution_layer(DeconvolutionLayerNode &no std::tie(func, std::ignore) = create_named_memory_managed_function( std::string(), mm, - input, weights, biases, output, deconv_info, inner_border.x(), inner_border.y()); + input, weights, biases, output, deconv_info); // Log info ARM_COMPUTE_LOG_GRAPH_INFO("Instantiated " diff --git a/arm_compute/graph/frontend/Layers.h b/arm_compute/graph/frontend/Layers.h index f73b1f49d9..3fc4af46d5 100644 --- a/arm_compute/graph/frontend/Layers.h +++ b/arm_compute/graph/frontend/Layers.h @@ -370,26 +370,23 @@ class DeconvolutionLayer final : public ILayer public: /** Construct a convolution layer. * - * @param[in] conv_width Convolution width. - * @param[in] conv_height Convolution height. - * @param[in] ofm Output feature map. - * @param[in] weights Accessor to get kernel weights from. - * @param[in] bias Accessor to get kernel bias from. - * @param[in] deconv_info Padding and stride information. - * @param[in] inner_border Inner border padding (right, top) + * @param[in] conv_width Convolution width. + * @param[in] conv_height Convolution height. + * @param[in] ofm Output feature map. + * @param[in] weights Accessor to get kernel weights from. + * @param[in] bias Accessor to get kernel bias from. + * @param[in] deconv_info Padding and stride information. */ DeconvolutionLayer(unsigned int conv_width, unsigned int conv_height, unsigned int ofm, ITensorAccessorUPtr weights, ITensorAccessorUPtr bias, - PadStrideInfo deconv_info, - Size2D inner_border) + PadStrideInfo deconv_info) : _conv_width(conv_width), _conv_height(conv_height), _ofm(ofm), _deconv_info(std::move(deconv_info)), - _inner_border(inner_border), _weights(std::move(weights)), _bias(std::move(bias)) { @@ -400,7 +397,7 @@ public: NodeIdxPair input = { s.tail_node(), 0 }; NodeParams common_params = { name(), s.hints().target_hint }; return GraphBuilder::add_deconvolution_node(s.graph(), common_params, input, - Size2D(_conv_width, _conv_height), _ofm, _deconv_info, _inner_border, + Size2D(_conv_width, _conv_height), _ofm, _deconv_info, std::move(_weights), std::move(_bias)); } @@ -409,7 +406,6 @@ private: unsigned int _conv_height; unsigned int _ofm; const PadStrideInfo _deconv_info; - Size2D _inner_border; ITensorAccessorUPtr _weights; ITensorAccessorUPtr _bias; }; diff --git a/arm_compute/graph/nodes/DeconvolutionLayerNode.h b/arm_compute/graph/nodes/DeconvolutionLayerNode.h index 19501482c6..e6869d7aae 100644 --- a/arm_compute/graph/nodes/DeconvolutionLayerNode.h +++ b/arm_compute/graph/nodes/DeconvolutionLayerNode.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018 ARM Limited. + * Copyright (c) 2018-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -36,20 +36,14 @@ class DeconvolutionLayerNode final : public INode public: /** Constructor * - * @param[in] info DeConvolution layer attributes - * @param[in] inner_border Inner border (right, top) + * @param[in] info DeConvolution layer attributes */ - DeconvolutionLayerNode(PadStrideInfo info, Size2D inner_border); + DeconvolutionLayerNode(PadStrideInfo info); /** Deconvolution metadata accessor * * @return Deconvolution information */ PadStrideInfo deconvolution_info() const; - /** Deconvolution inner border accessor - * - * @return Inner border(top, right) - */ - Size2D inner_border() const; /** Computes deconvolution output descriptor * * @param[in] input_descriptor Input descriptor @@ -70,7 +64,6 @@ public: private: PadStrideInfo _info; - Size2D _inner_border; }; } // namespace graph } // namespace arm_compute -- cgit v1.2.1