From acdaf2305369edd3a4663bece9ef3df59089c2f6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EC=9D=B4=EC=83=81=EA=B7=9C/On-Device=20Lab=28SR=29/Princip?= =?utf8?q?al=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Tue, 3 Sep 2019 15:52:46 +0900 Subject: [PATCH] [tflite_loader] implement tanh (#7126) It adds tanh operator in tflite_loader. Signed-off-by: Sanggyu Lee --- runtimes/neurun/frontend/tflite/loader.cc | 14 ++++++++++++++ runtimes/neurun/frontend/tflite/loader.h | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/runtimes/neurun/frontend/tflite/loader.cc b/runtimes/neurun/frontend/tflite/loader.cc index 2d88584..ba95cc8 100644 --- a/runtimes/neurun/frontend/tflite/loader.cc +++ b/runtimes/neurun/frontend/tflite/loader.cc @@ -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 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; diff --git a/runtimes/neurun/frontend/tflite/loader.h b/runtimes/neurun/frontend/tflite/loader.h index 5c659d6..2d7d44d 100644 --- a/runtimes/neurun/frontend/tflite/loader.h +++ b/runtimes/neurun/frontend/tflite/loader.h @@ -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) -- 2.7.4