[exo-tflite] Export TFLAdd (#7150)
author박세희/On-Device Lab(SR)/Principal Engineer/삼성전자 <saehie.park@samsung.com>
Wed, 4 Sep 2019 03:59:55 +0000 (12:59 +0900)
committerGitHub Enterprise <noreply-CODE@samsung.com>
Wed, 4 Sep 2019 03:59:55 +0000 (12:59 +0900)
This will add export for TFLAdd node

Signed-off-by: SaeHie Park <saehie.park@samsung.com>
compiler/exo-tflite/src/OperationExporter.cpp

index a569052..e3f1cc4 100644 (file)
@@ -45,7 +45,7 @@ public:
 
 public:
   // FOR TFLNodes
-  // TODO TFLAdd
+  void visit(locoex::TFLAdd *) final;
   // TODO TFLAveragePool2D
   // TODO TFLConcatenation
   // TODO TFLConv2D
@@ -96,7 +96,18 @@ private:
   SerializedModelData &gd;
 };
 
-// TODO TFLAdd
+void OperationExporter::visit(locoex::TFLAdd *node)
+{
+  uint32_t op_idx = gd.registerBuiltinOpcode(tflite::BuiltinOperator_ADD);
+  std::vector<int32_t> inputs_vec{get_tensor_index(node->x()), get_tensor_index(node->y())};
+  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 options = CreateAddOptions(builder); // dummy option
+  auto op_offset = CreateOperator(builder, op_idx, inputs, outputs,
+                                  tflite::BuiltinOptions_AddOptions, options.Union());
+  gd._operators.push_back(op_offset);
+}
 
 // TODO TFLAveragePool2D