Fix node names sorting in graph comparator (#14813)

Since Results are sorted by node name it may happen that, e.g
Result with name node_10 is before Result with name node_9,
while we want the opposite.
This commit is contained in:
Mateusz Tabaka 2023-01-11 11:35:56 +01:00 committed by GitHub
parent e811210f33
commit 7fad6f9b29
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -76,12 +76,16 @@ bool compare_rt_keys(const T& node1, const T& node2, std::ostream& err_log) {
} }
bool less_by_name(const std::shared_ptr<ngraph::op::v0::Result>& l, const std::shared_ptr<ngraph::op::v0::Result>& r) { bool less_by_name(const std::shared_ptr<ngraph::op::v0::Result>& l, const std::shared_ptr<ngraph::op::v0::Result>& r) {
return l->get_friendly_name() < r->get_friendly_name(); const auto& l_name = l->get_friendly_name();
const auto& r_name = r->get_friendly_name();
return l_name.size() < r_name.size() || (l_name.size() == r_name.size() && l_name < r_name);
} }
bool less_by_parent_name(const std::shared_ptr<ngraph::op::v0::Result>& l, bool less_by_parent_name(const std::shared_ptr<ngraph::op::v0::Result>& l,
const std::shared_ptr<ngraph::op::v0::Result>& r) { const std::shared_ptr<ngraph::op::v0::Result>& r) {
return l->get_input_node_shared_ptr(0)->get_friendly_name() < r->get_input_node_shared_ptr(0)->get_friendly_name(); const auto& l_name = l->get_input_node_shared_ptr(0)->get_friendly_name();
const auto& r_name = r->get_input_node_shared_ptr(0)->get_friendly_name();
return l_name.size() < r_name.size() || (l_name.size() == r_name.size() && l_name < r_name);
} }
std::string typeInfoToStr(const ngraph::Node::type_info_t& typeInfo) { std::string typeInfoToStr(const ngraph::Node::type_info_t& typeInfo) {