[exo-tflite] Complete node summary for TFLAvergePool2D & TFLMaxPool2D (#7928)
author윤현식/On-Device Lab(SR)/Principal Engineer/삼성전자 <hyunsik.yoon@samsung.com>
Sun, 6 Oct 2019 23:46:17 +0000 (08:46 +0900)
committer박종현/On-Device Lab(SR)/Staff Engineer/삼성전자 <jh1302.park@samsung.com>
Sun, 6 Oct 2019 23:46:17 +0000 (08:46 +0900)
Complete node summary for TFLAvergePool2D & TFLMaxPool2D was added.

Signed-off-by: Hyun Sik Yoon <hyunsik.yoon@samsung.com>
compiler/exo-tflite/src/TFLFormattedGraph.cpp

index 87acdd9..63464da 100644 (file)
@@ -61,6 +61,11 @@ std::string to_str(const locoex::Stride *stride)
   return pepper::str(stride->h(), ",", stride->w());
 }
 
+std::string to_str(const locoex::Filter *filter)
+{
+  return pepper::str(filter->h(), ",", filter->w());
+}
+
 std::string opname(uint32_t opnum)
 {
   static std::string prefix{"tfl."};
@@ -155,8 +160,17 @@ bool TFLNodeSummaryBuilder::summary(const locoex::TFLAdd *node, locop::NodeSumma
 bool TFLNodeSummaryBuilder::summary(const locoex::TFLAveragePool2D *node,
                                     locop::NodeSummary &s) const
 {
-  s.args().append("input", tbl()->lookup(node->value()));
-  s.state(locop::NodeSummary::State::PartiallyKnown);
+  auto f = node->fusedActivationFunction();
+  assert(f != locoex::FusedActFunc::UNDEFINED);
+
+  s.args().append("value", tbl()->lookup(node->value()));
+  s.args().append("filter(h,w)", to_str(node->filter()));
+  s.args().append("stride(h,w)", to_str(node->stride()));
+  s.args().append("padding", to_str(node->padding()));
+  s.args().append("fused", to_str(node->fusedActivationFunction()));
+
+  s.state(locop::NodeSummary::State::Complete);
+
   return true;
 }
 
@@ -199,8 +213,17 @@ bool TFLNodeSummaryBuilder::summary(const locoex::TFLDiv *node, locop::NodeSumma
 
 bool TFLNodeSummaryBuilder::summary(const locoex::TFLMaxPool2D *node, locop::NodeSummary &s) const
 {
-  s.args().append("input", tbl()->lookup(node->value()));
-  s.state(locop::NodeSummary::State::PartiallyKnown);
+  auto f = node->fusedActivationFunction();
+  assert(f != locoex::FusedActFunc::UNDEFINED);
+
+  s.args().append("value", tbl()->lookup(node->value()));
+  s.args().append("filter(h,w)", to_str(node->filter()));
+  s.args().append("stride(h,w)", to_str(node->stride()));
+  s.args().append("padding", to_str(node->padding()));
+  s.args().append("fused", to_str(node->fusedActivationFunction()));
+
+  s.state(locop::NodeSummary::State::Complete);
+
   return true;
 }