aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/graph/nodes
diff options
context:
space:
mode:
authorIsabella Gottardi <isabella.gottardi@arm.com>2019-03-14 10:32:11 +0000
committerIsabella Gottardi <isabella.gottardi@arm.com>2019-03-20 11:23:43 +0000
commit0ae5de9124a0094e656244ad2f807c084966fc04 (patch)
treeab698ad9c43f95dda13f78cf76b753105cf69388 /arm_compute/graph/nodes
parentb0c5037d94ba7073ccabb0ebaff54db320f184c4 (diff)
downloadComputeLibrary-0ae5de9124a0094e656244ad2f807c084966fc04.tar.gz
COMPMID-1995: Prepare Graph to support different input/output quantization info
- Added support for different input/output qinfo in ActivationLayer and DepthwiseConv - Added support for different input/output qinfo in ConcatenateLayer introducing ConcatDescriptor - Added reshape validate - Allow OutputLayer to return a specific connection index from the input - Not run Inplace and Depth mutator when input/output quantization info are different Change-Id: I03f5e416fc43ddd284e1501887202a3145f76d8a Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com> Reviewed-on: https://review.mlplatform.org/c/852 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'arm_compute/graph/nodes')
-rw-r--r--arm_compute/graph/nodes/ActivationLayerNode.h7
-rw-r--r--arm_compute/graph/nodes/ConcatenateLayerNode.h20
-rw-r--r--arm_compute/graph/nodes/DepthwiseConvolutionLayerNode.h7
3 files changed, 23 insertions, 11 deletions
diff --git a/arm_compute/graph/nodes/ActivationLayerNode.h b/arm_compute/graph/nodes/ActivationLayerNode.h
index 723120655b..a17b0103e4 100644
--- a/arm_compute/graph/nodes/ActivationLayerNode.h
+++ b/arm_compute/graph/nodes/ActivationLayerNode.h
@@ -36,9 +36,11 @@ class ActivationLayerNode final : public INode
public:
/** Constructor
*
- * @param[in] info Activation Layer information
+ * @param[in] info Activation Layer information
+ * @param[in] out_quant_info (Optional) Output quantization info
*/
- ActivationLayerNode(ActivationLayerInfo info);
+ ActivationLayerNode(ActivationLayerInfo info,
+ QuantizationInfo out_quant_info = QuantizationInfo());
/** Activation metadata accessor
*
* @return The activation info of the layer
@@ -56,6 +58,7 @@ public:
private:
ActivationLayerInfo _info;
+ QuantizationInfo _out_quant_info;
};
} // namespace graph
} // namespace arm_compute
diff --git a/arm_compute/graph/nodes/ConcatenateLayerNode.h b/arm_compute/graph/nodes/ConcatenateLayerNode.h
index 20c8523752..fc122845e8 100644
--- a/arm_compute/graph/nodes/ConcatenateLayerNode.h
+++ b/arm_compute/graph/nodes/ConcatenateLayerNode.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -36,10 +36,10 @@ class ConcatenateLayerNode final : public INode
public:
/** Constructor
*
- * @param[in] total_nodes Number of nodes that will get concatenated
- * @param[in] axis Concatenation axis
+ * @param[in] total_nodes Number of nodes that will get concatenated
+ * @param[in] concat_descriptor Concatenate Layer Descriptor
*/
- ConcatenateLayerNode(unsigned int total_nodes, DataLayoutDimension axis);
+ ConcatenateLayerNode(unsigned int total_nodes, descriptors::ConcatLayerDescriptor concat_descriptor);
/** Computes concatenations output descriptor
*
* @param[in] input_descriptors Input descriptors
@@ -68,6 +68,12 @@ public:
*/
DataLayoutDimension concatenation_axis() const;
+ /** Concatenation output quantization info accessor
+ *
+ * @return Output quantization info
+ */
+ QuantizationInfo output_quantization_info() const;
+
// Inherited overridden methods:
NodeType type() const override;
bool forward_descriptors() override;
@@ -75,9 +81,9 @@ public:
void accept(INodeVisitor &v) override;
private:
- unsigned int _total_nodes;
- DataLayoutDimension _axis;
- bool _is_enabled;
+ unsigned int _total_nodes;
+ descriptors::ConcatLayerDescriptor _concat_descriptor;
+ bool _is_enabled;
};
} // namespace graph
} // namespace arm_compute
diff --git a/arm_compute/graph/nodes/DepthwiseConvolutionLayerNode.h b/arm_compute/graph/nodes/DepthwiseConvolutionLayerNode.h
index 8c0aae13c9..fd0273416e 100644
--- a/arm_compute/graph/nodes/DepthwiseConvolutionLayerNode.h
+++ b/arm_compute/graph/nodes/DepthwiseConvolutionLayerNode.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018 ARM Limited.
+ * Copyright (c) 2018-2019 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -39,10 +39,12 @@ public:
* @param[in] info Convolution layer attributes
* @param[in] depth_multiplier (Optional) Depth multiplier parameter.
* @param[in] method (Optional) Depthwise convolution method to use
+ * @param[in] out_quant_info (Optional) Output quantization info
*/
DepthwiseConvolutionLayerNode(PadStrideInfo info,
int depth_multiplier = 1,
- DepthwiseConvolutionMethod method = DepthwiseConvolutionMethod::Default);
+ DepthwiseConvolutionMethod method = DepthwiseConvolutionMethod::Default,
+ QuantizationInfo out_quant_info = QuantizationInfo());
/** Sets the depthwise convolution method to use
*
* @param[in] method Depthwise convolution method to use
@@ -103,6 +105,7 @@ private:
PadStrideInfo _info;
int _depth_multiplier;
DepthwiseConvolutionMethod _method;
+ QuantizationInfo _out_quant_info;
ActivationLayerInfo _fused_activation;
};
} // namespace graph