From 3e6f416e62dd410303b03305669cdccbd7eba726 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=EB=B0=95=EC=A2=85=ED=98=84/On-Device=20Lab=28SR=29/Staff?= =?utf8?q?=20Engineer/=EC=82=BC=EC=84=B1=EC=A0=84=EC=9E=90?= Date: Thu, 1 Aug 2019 13:08:46 +0900 Subject: [PATCH] [moco-tf] Simplify TFFormattedGraph using pepper::str (#6080) This commit simplifies TFFormattedGraph implementation using "pepper::str" helper. Signed-off-by: Jonghyun Park --- compiler/moco-tf/CMakeLists.txt | 1 + compiler/moco-tf/src/TFFormattedGraph.cpp | 40 +++++++------------------------ 2 files changed, 10 insertions(+), 31 deletions(-) diff --git a/compiler/moco-tf/CMakeLists.txt b/compiler/moco-tf/CMakeLists.txt index 9660a51..89fcf88 100644 --- a/compiler/moco-tf/CMakeLists.txt +++ b/compiler/moco-tf/CMakeLists.txt @@ -25,6 +25,7 @@ target_link_libraries(moco_tf_frontend PRIVATE locop) target_link_libraries(moco_tf_frontend PRIVATE stdex) target_link_libraries(moco_tf_frontend PRIVATE cwrap) target_link_libraries(moco_tf_frontend PRIVATE moco_log) +target_link_libraries(moco_tf_frontend PRIVATE pepper_str) target_link_libraries(moco_tf_frontend PRIVATE pepper_strcast) target_link_libraries(moco_tf_frontend PRIVATE locomotiv) target_link_libraries(moco_tf_frontend PRIVATE plier_tf) diff --git a/compiler/moco-tf/src/TFFormattedGraph.cpp b/compiler/moco-tf/src/TFFormattedGraph.cpp index e0c0d8e..399c2aa 100644 --- a/compiler/moco-tf/src/TFFormattedGraph.cpp +++ b/compiler/moco-tf/src/TFFormattedGraph.cpp @@ -23,6 +23,8 @@ #include "LogHelper.h" +#include + #include namespace @@ -108,16 +110,10 @@ bool TFNodeSummaryBuilder::summary(const TFAdd *node, locop::NodeSummary &s) con bool TFNodeSummaryBuilder::summary(const TFAvgPool *node, locop::NodeSummary &s) const { - std::ostringstream ss; - s.opname("TF.AvgPool"); s.args().append("value", _tbl->lookup(node->value())); - - ss << node->ksize(); - s.args().append("ksize", ss.str()); - ss.str(""); - ss << node->strides(); - s.args().append("strides", ss.str()); + s.args().append("ksize", pepper::str(node->ksize())); + s.args().append("strides", pepper::str(node->strides())); s.args().append("padding", node->padding()); s.args().append("data_layout", node->data_layout()); @@ -163,65 +159,47 @@ bool TFNodeSummaryBuilder::summary(const TFConst *node, locop::NodeSummary &s) c bool TFNodeSummaryBuilder::summary(const TFConv2D *node, locop::NodeSummary &s) const { - std::ostringstream ss; - s.opname("TF.Conv2D"); s.args().append("ifm", _tbl->lookup(node->ifm())); s.args().append("ker", _tbl->lookup(node->ker())); s.args().append("padding", node->padding()); s.args().append("data_layout", node->data_layout()); - - ss << node->strides(); - s.args().append("strides", ss.str()); + s.args().append("strides", pepper::str(node->strides())); s.state(locop::NodeSummary::State::PartiallyKnown); return true; } bool TFNodeSummaryBuilder::summary(const TFDepthwiseConv2dNative *node, locop::NodeSummary &s) const { - std::ostringstream ss; - s.opname("TF.DepthwiseConv2dNative"); s.args().append("ifm", _tbl->lookup(node->ifm())); s.args().append("ker", _tbl->lookup(node->ker())); s.args().append("padding", node->padding()); s.args().append("data_layout", node->data_layout()); - - ss << node->strides(); - s.args().append("strides", ss.str()); + s.args().append("strides", pepper::str(node->strides())); s.state(locop::NodeSummary::State::PartiallyKnown); return true; } bool TFNodeSummaryBuilder::summary(const TFFusedBatchNorm *node, locop::NodeSummary &s) const { - std::ostringstream ss; - s.opname("TF.FusedBatchNorm"); s.args().append("input", _tbl->lookup(node->input())); s.args().append("gamma", _tbl->lookup(node->gamma())); s.args().append("beta", _tbl->lookup(node->beta())); s.args().append("mean", _tbl->lookup(node->mean())); s.args().append("variance", _tbl->lookup(node->variance())); - - ss << node->epsilon(); - s.args().append("epsilon", ss.str()); + s.args().append("epsilon", pepper::str(node->epsilon())); s.state(locop::NodeSummary::State::Complete); return true; } bool TFNodeSummaryBuilder::summary(const TFMaxPool *node, locop::NodeSummary &s) const { - std::ostringstream ss; - s.opname("TF.MaxPool"); s.args().append("value", _tbl->lookup(node->value())); - - ss << node->ksize(); - s.args().append("ksize", ss.str()); - ss.str(""); - ss << node->strides(); - s.args().append("strides", ss.str()); + s.args().append("ksize", pepper::str(node->ksize())); + s.args().append("strides", pepper::str(node->strides())); s.args().append("padding", node->padding()); s.args().append("data_layout", node->data_layout()); -- 2.7.4