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."};
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;
}
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;
}