From 47e6fede687a301137cef25ff729e68d099d4520 Mon Sep 17 00:00:00 2001 From: Michele Di Giorgio Date: Tue, 13 Nov 2018 12:04:25 +0000 Subject: COMPMID-1639: Add GenerateProposals to the graph API Change-Id: Icf813a0a87d4a07e180eafdb5fa916b2ea4028d2 --- arm_compute/graph/frontend/Layers.h | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'arm_compute/graph/frontend/Layers.h') diff --git a/arm_compute/graph/frontend/Layers.h b/arm_compute/graph/frontend/Layers.h index fa0656dcdc..56dcd88077 100644 --- a/arm_compute/graph/frontend/Layers.h +++ b/arm_compute/graph/frontend/Layers.h @@ -531,6 +531,12 @@ public: { } + /** Create layer and add to the given stream. + * + * @param[in] s Stream to add layer to. + * + * @return ID of the created node. + */ NodeID create_layer(IStream &s) override { NodeParams common_params = { name(), s.hints().target_hint }; @@ -549,6 +555,44 @@ private: const QuantizationInfo _out_quant_info; }; +/** Generate Proposals Layer */ +class GenerateProposalsLayer final : public ILayer +{ +public: + /** Construct a generate proposals layer. + * + * @param[in] ss_scores Graph sub-stream for the scores. + * @param[in] ss_deltas Graph sub-stream for the deltas. + * @param[in] ss_anchors Graph sub-stream for the anchors. + * @param[in] info Generate Proposals operation information. + */ + GenerateProposalsLayer(SubStream &&ss_scores, SubStream &&ss_deltas, SubStream &&ss_anchors, GenerateProposalsInfo info) + : _ss_scores(std::move(ss_scores)), _ss_deltas(std::move(ss_deltas)), _ss_anchors(std::move(ss_anchors)), _info(info) + { + } + + /** Create layer and add to the given stream. + * + * @param[in] s Stream to add layer to. + * + * @return ID of the created node. + */ + NodeID create_layer(IStream &s) override + { + NodeParams common_params = { name(), s.hints().target_hint }; + NodeIdxPair scores = { _ss_scores.tail_node(), 0 }; + NodeIdxPair deltas = { _ss_deltas.tail_node(), 0 }; + NodeIdxPair anchors = { _ss_anchors.tail_node(), 0 }; + return GraphBuilder::add_generate_proposals_node(s.graph(), common_params, scores, deltas, anchors, _info); + } + +private: + SubStream _ss_scores; + SubStream _ss_deltas; + SubStream _ss_anchors; + GenerateProposalsInfo _info; +}; + /** Normalization Layer */ class NormalizationLayer final : public ILayer { -- cgit v1.2.1