aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/graph/backends/ValidateHelpers.h
diff options
context:
space:
mode:
authorthecha01 <theo.charalambous@arm.com>2020-09-07 14:50:21 +0100
committerTheo Charalambous <theo.charalambous@arm.com>2020-09-09 09:51:52 +0000
commitd64444ba197c2f95dcf4d205f50a196d5a29cdeb (patch)
tree509c18d43dd6b6c614782ca2fe2d2111084ed8a7 /arm_compute/graph/backends/ValidateHelpers.h
parent3603aff36444e01083b93e603e8b9b0a254d4911 (diff)
downloadComputeLibrary-d64444ba197c2f95dcf4d205f50a196d5a29cdeb.tar.gz
Add Reduction operation layer node to graph API
Signed-off-by: thecha01 <theo.charalambous@arm.com> Change-Id: Ida819fb8c33790cc9da6d69eeb51e0599269197a Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3931 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/graph/backends/ValidateHelpers.h')
-rw-r--r--arm_compute/graph/backends/ValidateHelpers.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/arm_compute/graph/backends/ValidateHelpers.h b/arm_compute/graph/backends/ValidateHelpers.h
index 1d5fd92838..dd519fbd5e 100644
--- a/arm_compute/graph/backends/ValidateHelpers.h
+++ b/arm_compute/graph/backends/ValidateHelpers.h
@@ -509,6 +509,30 @@ Status validate_quantization_layer(QuantizationLayerNode &node)
return QuantizationLayer::validate(input, output);
}
+/** Validates a Reduction operation layer node
+ *
+ * @tparam ReductionLayer Reduction layer type
+ *
+ * @param[in] node Node to validate
+ *
+ * @return Status
+ */
+template <typename ReductionLayer>
+Status validate_reduction_operation_layer(ReductionLayerNode &node)
+{
+ ARM_COMPUTE_LOG_GRAPH_VERBOSE("Validating ReductionLayer node with ID : " << node.id() << " and Name: " << node.name() << std::endl);
+
+ ARM_COMPUTE_RETURN_ERROR_ON(node.num_inputs() != 1);
+ ARM_COMPUTE_RETURN_ERROR_ON(node.num_outputs() != 1);
+
+ // Extract input and output
+ arm_compute::ITensorInfo *input = detail::get_backing_tensor_info(node.input(0));
+ arm_compute::ITensorInfo *output = get_backing_tensor_info(node.output(0));
+
+ // Validate function
+ return ReductionLayer::validate(input, output, node.axis(), node.op(), node.keep_dims());
+}
+
/** Validates a Reorg layer node
*
* @tparam ReorgLayer Reorg layer type