From 5c89ae97dc6f0c8a171c462d64b1ead5b7a7688d Mon Sep 17 00:00:00 2001 From: maning202007 Date: Thu, 19 Nov 2020 14:25:27 +0800 Subject: [PATCH] Sort graphs by name when receive multi_graphs make the code simplier --- .../debugger/stream_handler/graph_handler.py | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/mindinsight/debugger/stream_handler/graph_handler.py b/mindinsight/debugger/stream_handler/graph_handler.py index a9cb5531..b025cf3f 100644 --- a/mindinsight/debugger/stream_handler/graph_handler.py +++ b/mindinsight/debugger/stream_handler/graph_handler.py @@ -71,7 +71,8 @@ class GraphHandler(StreamHandlerBase): value (GraphProto): The Graph proto message. """ log.info("Put graph into cache.") - for graph_name, graph_value in value.items(): + sorted_value_list = self._sort_graph(value) + for graph_name, graph_value in sorted_value_list: self._graph_proto[graph_name] = graph_value # build sub graph graph = DebuggerGraph() @@ -687,3 +688,20 @@ class GraphHandler(StreamHandlerBase): if not graph.exist_node(name=node_name): log.error("graph %s doesn't find node: %s.", graph_name, node_name) raise DebuggerNodeNotInGraphError(node_name) + + def _sort_graph(self, graphs): + """ + Sort graph by graph_name. + + Args: + graphs(dict): . + """ + if len(graphs) == 1: + return graphs.items() + sorted_graphs = sorted(graphs.items(), key=lambda x: get_graph_number(x[0])) + return sorted_graphs + + +def get_graph_number(graph_name): + number = graph_name.split("_")[-1] + return int(number)