COMPMID-1582 Add YOLOLayer to graph API

Change-Id: I8eb7cf220f038b0ac70cb3df1f399a3b66bbca1b
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/148245
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Tested-by: bsgcomp <bsgcomp@arm.com>
diff --git a/arm_compute/graph/backends/ValidateHelpers.h b/arm_compute/graph/backends/ValidateHelpers.h
index 1de3aa9..eb37625 100644
--- a/arm_compute/graph/backends/ValidateHelpers.h
+++ b/arm_compute/graph/backends/ValidateHelpers.h
@@ -248,6 +248,29 @@
     // Validate function
     return ReorgLayer::validate(input, output, node.stride());
 }
+
+/** Validates a YOLO layer node
+ *
+ * @tparam YOLOLayer YOLO layer type
+ *
+ * @param[in] node Node to validate
+ *
+ * @return Status
+ */
+template <typename YOLOLayer>
+Status validate_yolo_layer(YOLOLayerNode &node)
+{
+    ARM_COMPUTE_LOG_GRAPH_VERBOSE("Validating YOLOLayer 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 YOLOLayer::validate(input, output, node.activation_info(), node.num_classes());
+}
 } // namespace detail
 } // namespace backends
 } // namespace graph