summaryrefslogtreecommitdiff
path: root/runtimes
diff options
context:
space:
mode:
authorIvan Vagin/AI Tools Lab /SRR/Engineer/삼성전자 <ivan.vagin@samsung.com>2019-09-09 06:04:41 +0300
committer이춘석/On-Device Lab(SR)/Staff Engineer/삼성전자 <chunseok.lee@samsung.com>2019-09-09 12:04:41 +0900
commit991de073767ff71dcb203dd76af4843c51fc22d9 (patch)
treecd580a1c5ef969e6d74ed7677c5b94243ccc85c6 /runtimes
parent9879e83bb885f46f37b644ad3e2bd06266c46862 (diff)
downloadnnfw-991de073767ff71dcb203dd76af4843c51fc22d9.tar.gz
nnfw-991de073767ff71dcb203dd76af4843c51fc22d9.tar.bz2
nnfw-991de073767ff71dcb203dd76af4843c51fc22d9.zip
[tflite_loader] Implemented TransposeConv node conversion (#7268)
* [tflite_loader] Implemented TransposeConv node conversion Implemented transpose conv node conversion Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com> * Fixed formatting Signed-off-by: Ivan Vagin <ivan.vagin@samsung.com>
Diffstat (limited to 'runtimes')
-rw-r--r--runtimes/neurun/frontend/tflite/loader.cc18
-rw-r--r--runtimes/neurun/frontend/tflite/loader.h1
2 files changed, 19 insertions, 0 deletions
diff --git a/runtimes/neurun/frontend/tflite/loader.cc b/runtimes/neurun/frontend/tflite/loader.cc
index cc1d5221b..844365bfd 100644
--- a/runtimes/neurun/frontend/tflite/loader.cc
+++ b/runtimes/neurun/frontend/tflite/loader.cc
@@ -212,6 +212,21 @@ void Loader::loadDepthwiseConv2D(const tflite::Operator *op)
_graph.addOperation(std::move(new_op));
}
+void Loader::loadTransposeConv(const tflite::Operator *op)
+{
+ model::OperandIndexSequence inputs;
+ model::OperandIndexSequence outputs;
+
+ loadOperationIO(op, inputs, outputs);
+
+ model::operation::TransposeConvNode::Param param;
+ const auto *options = op->builtin_options_as_TransposeConvOptions();
+ loadStridesAndPaddings(param, options);
+ std::unique_ptr<model::Operation> new_op(
+ new model::operation::TransposeConvNode(inputs, outputs, param));
+ _graph.addOperation(std::move(new_op));
+}
+
void Loader::loadAvgPool2D(const tflite::Operator *op)
{
model::OperandIndexSequence inputs;
@@ -535,6 +550,9 @@ void Loader::loadOperation(const tflite::Operator *op)
case BuiltinOperator_DEPTHWISE_CONV_2D:
loadDepthwiseConv2D(op);
return;
+ case BuiltinOperator_TRANSPOSE_CONV:
+ loadTransposeConv(op);
+ return;
case BuiltinOperator_RESHAPE:
loadReshape(op);
return;
diff --git a/runtimes/neurun/frontend/tflite/loader.h b/runtimes/neurun/frontend/tflite/loader.h
index 0ccd948e5..c398cbc00 100644
--- a/runtimes/neurun/frontend/tflite/loader.h
+++ b/runtimes/neurun/frontend/tflite/loader.h
@@ -76,6 +76,7 @@ private:
// Operations
void loadConv2D(const tflite::Operator *op);
void loadDepthwiseConv2D(const tflite::Operator *op);
+ void loadTransposeConv(const tflite::Operator *op);
void loadAvgPool2D(const tflite::Operator *op);
void loadReshape(const tflite::Operator *op);
void loadSoftmax(const tflite::Operator *op);