From 104fbd7b533c40f19465c85e884f10ae500e639e Mon Sep 17 00:00:00 2001 From: Sang-Hoon Park Date: Fri, 13 Mar 2020 11:31:53 +0000 Subject: COMPMID-3221: Add DeconvolutionLayerDescriptor A new struct for DeconvolutionLayerNode is added for better extendability. Change-Id: I935277e8073a8295de7b0059b946cb637085f1ff Signed-off-by: Sang-Hoon Park Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/2883 Tested-by: Arm Jenkins Reviewed-by: Michele Di Giorgio Comments-Addressed: Arm Jenkins --- arm_compute/graph/LayerDescriptors.h | 16 ++++++++++++++++ arm_compute/graph/nodes/DeconvolutionLayerNode.h | 9 ++++----- 2 files changed, 20 insertions(+), 5 deletions(-) (limited to 'arm_compute/graph') diff --git a/arm_compute/graph/LayerDescriptors.h b/arm_compute/graph/LayerDescriptors.h index af69682fa3..0cf203174e 100644 --- a/arm_compute/graph/LayerDescriptors.h +++ b/arm_compute/graph/LayerDescriptors.h @@ -86,6 +86,22 @@ struct EltwiseLayerDescriptor RoundingPolicy r_policy; /**< Rounding policy */ }; +/** Deconvolution layer descriptor */ +struct DeconvolutionLayerDescriptor +{ + /** Constructor + * + * @param[in] info Dedonvolution layer attributes + * @param[in] out_quant_info (Optional) Output quantization infomation + */ + DeconvolutionLayerDescriptor(PadStrideInfo info, QuantizationInfo out_quant_info = QuantizationInfo()) + : info(info), out_quant_info(out_quant_info) + { + } + + PadStrideInfo info; /**< Padding and stride information */ + QuantizationInfo out_quant_info; /**< Output quantization information */ +}; } // namespace descriptor } // namespace graph } // namespace arm_compute diff --git a/arm_compute/graph/nodes/DeconvolutionLayerNode.h b/arm_compute/graph/nodes/DeconvolutionLayerNode.h index 5633898366..a5efdfb3bc 100644 --- a/arm_compute/graph/nodes/DeconvolutionLayerNode.h +++ b/arm_compute/graph/nodes/DeconvolutionLayerNode.h @@ -25,6 +25,7 @@ #define ARM_COMPUTE_GRAPH_DECONVOLUTION_LAYER_NODE_H #include "arm_compute/graph/INode.h" +#include "arm_compute/graph/LayerDescriptors.h" namespace arm_compute { @@ -36,10 +37,9 @@ class DeconvolutionLayerNode final : public INode public: /** Constructor * - * @param[in] info DeConvolution layer attributes - * @param[in] out_quant_info (Optional) Output quantization infomation + * @param[in] descriptor Contains information used by this layer described in @ref descriptors::DeconvolutionLayerDescriptor */ - DeconvolutionLayerNode(PadStrideInfo info, QuantizationInfo out_quant_info = QuantizationInfo()); + DeconvolutionLayerNode(const descriptors::DeconvolutionLayerDescriptor &descriptor); /** Deconvolution metadata accessor * * @return Deconvolution information @@ -64,8 +64,7 @@ public: void accept(INodeVisitor &v) override; private: - PadStrideInfo _info; - QuantizationInfo _out_quant_info; + descriptors::DeconvolutionLayerDescriptor descriptor; }; } // namespace graph } // namespace arm_compute -- cgit v1.2.1