[loco] Introducing BiasDecode (#7158)
author윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 <hyunsik.yoon@samsung.com>
Wed, 4 Sep 2019 09:51:50 +0000 (18:51 +0900)
committer박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Wed, 4 Sep 2019 09:51:50 +0000 (18:51 +0900)
This introduce loco::BiasDecode, which translate Bias domain to Tensor domain.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
compiler/loco/include/loco/IR/CanonicalNodes.lst
compiler/loco/include/loco/IR/Nodes.h

index 2acc259..2bd2cf0 100644 (file)
@@ -8,6 +8,7 @@
 
 // CANONICAL_NODE(OPCODE, CLASS)
 CANONICAL_NODE(AvgPool2D, AvgPool2D)
+CANONICAL_NODE(BiasDecode, BiasDecode)
 CANONICAL_NODE(BiasEncode, BiasEncode)
 CANONICAL_NODE(ConstGen, ConstGen)
 CANONICAL_NODE(Conv2D, Conv2D)
index 11bdc7a..813bfe2 100644 (file)
@@ -593,6 +593,19 @@ private:
 using TensorSoftmax = Softmax<Domain::Tensor>;
 
 /**
+ * @brief Create a "Tensor" from a "Bias"
+ */
+class BiasDecode final : public CanonicalNodeDef<CanonicalOpcode::BiasDecode, FixedArity<1>::Mixin>
+{
+public:
+  BiasDecode() = default;
+
+public:
+  Node *input(void) const { return at(0)->node(); }
+  void input(Node *node) { at(0)->node(node); }
+};
+
+/**
  * @brief Create a "Bias" from a "Tensor"
  *
  * BiasEncode currently requires a rank-1 tensor as its input.