return ss.str();
};
+ auto shape_to_str = [](const luci::CircleNode *node) {
+ std::stringstream ss;
+ ss << "<";
+ for (uint32_t i = 0; i < node->rank(); ++i)
+ {
+ if (i)
+ ss << ",";
+ ss << (node->dim(i).known() ? node->dim(i).value() : -1);
+ }
+ ss << ">";
+ return ss.str();
+ };
+
auto circle_node = loco::must_cast<const luci::CircleNode *>(node);
if (const auto builder = create_builder(circle_node))
{
builder->update_status(s);
s.opname(circle_opname(circle_node->opcode()));
- s.comments().append("[" + circle_node->name() + "] = " + ptr_to_str(node));
+ s.comments().append("[" + circle_node->name() + " " + shape_to_str(circle_node) +
+ "] = " + ptr_to_str(node));
return true;
}
CIRCLE_NODE(FULLY_CONNECTED, CircleFullyConnectedSummaryBuilder)
CIRCLE_NODE(GATHER, CircleGatherSummaryBuilder)
CIRCLE_NODE(GATHER_ND, CircleGatherNdSummaryBuilder)
+ CIRCLE_NODE(GELU, CircleGeluSummaryBuilder)
CIRCLE_NODE(GREATER, CircleGreaterSummaryBuilder)
CIRCLE_NODE(GREATER_EQUAL, CircleGreaterEqualSummaryBuilder)
+ CIRCLE_NODE(HARD_SWISH, CircleHardSwishSummaryBuilder)
CIRCLE_NODE(IF, CircleIfSummaryBuilder)
CIRCLE_NODE(INSTANCE_NORM, CircleInstanceNormSummaryBuilder)
CIRCLE_NODE(L2_NORMALIZATION, CircleL2NormalizeSummaryBuilder)