[tflite_loader] implement tanh (#7126)
author이상규/On-Device Lab(SR)/Principal Engineer/삼성전자 <sg5.lee@samsung.com>
Tue, 3 Sep 2019 06:52:46 +0000 (15:52 +0900)
committer오형석/On-Device Lab(SR)/Staff Engineer/삼성전자 <hseok82.oh@samsung.com>
Tue, 3 Sep 2019 06:52:46 +0000 (15:52 +0900)
It adds tanh operator in tflite_loader.

Signed-off-by: Sanggyu Lee <sg5.lee@samsung.com>
runtimes/neurun/frontend/tflite/loader.cc
runtimes/neurun/frontend/tflite/loader.h

index 2d88584..ba95cc8 100644 (file)
@@ -385,6 +385,17 @@ void Loader::loadRelu6(const tflite::Operator *op)
   _graph.addOperation(std::move(new_op));
 }
 
+void Loader::loadTanh(const tflite::Operator *op)
+{
+  model::OperandIndexSequence inputs;
+  model::OperandIndexSequence outputs;
+
+  loadOperationIO(op, inputs, outputs);
+
+  std::unique_ptr<model::Operation> new_op(new model::operation::TanhNode(inputs, outputs));
+  _graph.addOperation(std::move(new_op));
+}
+
 void Loader::loadTranspose(const tflite::Operator *op)
 {
   model::OperandIndexSequence inputs;
@@ -461,6 +472,9 @@ void Loader::loadOperation(const tflite::Operator *op)
     case BuiltinOperator_RELU6:
       loadRelu6(op);
       return;
+    case BuiltinOperator_TANH:
+      loadTanh(op);
+      return;
     case BuiltinOperator_TRANSPOSE:
       loadTranspose(op);
       return;
index 5c659d6..2d7d44d 100644 (file)
@@ -87,8 +87,9 @@ private:
   void loadSub(const tflite::Operator *op);
   void loadRelu(const tflite::Operator *op);
   void loadRelu6(const tflite::Operator *op);
-  void loadTranspose(const tflite::Operator *op);
   void loadRsqrt(const tflite::Operator *op);
+  void loadTranspose(const tflite::Operator *op);
+  void loadTanh(const tflite::Operator *op);
 
 private:
   // Buffer for loading (if needed)