From f08c6097929106739cb049ef136e26a55b3e61d5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=B2=9C=EA=B5=90/On-Device=20Lab=28SR=29/Enginee?= =?utf8?q?r/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Wed, 11 Sep 2019 09:22:13 +0900 Subject: [PATCH] [loco] Add FilterEncodeLayer for test GraphBuilder (#7343) This commit adds FilterEncodeLayer for test GraphBuilder. Signed-off-by: Cheongyo Bahk --- compiler/loco/src/Service/GraphBuilder.h | 38 ++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/compiler/loco/src/Service/GraphBuilder.h b/compiler/loco/src/Service/GraphBuilder.h index 86bb6fd..ba0df4a 100644 --- a/compiler/loco/src/Service/GraphBuilder.h +++ b/compiler/loco/src/Service/GraphBuilder.h @@ -348,6 +348,44 @@ struct FeatureDecodeLayer final } }; +struct FilterEncodeLayer final +{ + class Return + { + public: + Return(loco::FilterEncode *node) : _node{node} + { + // DO NOTHING + } + + public: + Return *perm(const loco::Permutation &perm) + { + auto encoder = stdex::make_unique>(); + encoder->perm(perm); + _node->encoder(std::move(encoder)); + return this; + } + + public: + loco::FilterEncode *node(void) { return _node; } + + private: + loco::FilterEncode *_node; + }; + + std::unique_ptr operator()(GraphBuilder::Context *ctx) + { + auto encode_node = ctx->graph()->nodes()->create(); + + encode_node->input(ctx->stack()->pop()); + + ctx->stack()->push(encode_node); + + return stdex::make_unique(encode_node); + } +}; + struct DepthwiseFilterEncodeLayer final { class Return -- 2.7.4