[exo-tflite] Add Tanh visit fuction (#6847)
author남궁석/On-Device Lab(SR)/Engineer/삼성전자 <sk.namkoong@samsung.com>
Fri, 23 Aug 2019 01:04:30 +0000 (10:04 +0900)
committer박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 <saehie.park@samsung.com>
Fri, 23 Aug 2019 01:04:30 +0000 (10:04 +0900)
This commit will add `Tanh` visit function

Signed-off-by: Seok NamKoong <sk.namkoong@samsung.com>
compiler/exo-tflite/src/OperationExporter.cpp

index c322f65..c1092fe 100644 (file)
@@ -41,6 +41,7 @@ public:
 public:
   void visit(loco::ReLU *) final;
   void visit(loco::ReLU6 *) final;
+  void visit(loco::Tanh *) final;
   void visit(loco::Push *) final { /* DO NOTHING */}
   void visit(loco::Pull *) final { /* DO NOTHING */}
   void visit(loco::FeatureEncode *) final;
@@ -93,6 +94,17 @@ void OperationExporter::visit(loco::ReLU6 *node)
   gd._operators.push_back(op_offset);
 }
 
+void OperationExporter::visit(loco::Tanh *node)
+{
+  uint32_t op_idx = gd.registerBuiltinOpcode(tflite::BuiltinOperator_TANH);
+  std::vector<int32_t> inputs_vec{get_tensor_index(node->input())};
+  std::vector<int32_t> outputs_vec{get_tensor_index(static_cast<loco::Node *>(node))};
+  auto inputs = builder.CreateVector(inputs_vec);
+  auto outputs = builder.CreateVector(outputs_vec);
+  auto op_offset = CreateOperator(builder, op_idx, inputs, outputs);
+  gd._operators.push_back(op_offset);
+}
+
 void OperationExporter::visit(loco::MaxPool2D *node)
 {
   uint32_t op_idx = gd.registerBuiltinOpcode(tflite::BuiltinOperator_MAX_POOL_2D);