diff options
Diffstat (limited to 'arm_compute/graph/backends/ValidateHelpers.h')
-rw-r--r-- | arm_compute/graph/backends/ValidateHelpers.h | 24 |
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 |