forked from mindspore-Ecosystem/mindspore
!7824 combine first row of the current file and the last row of the previous file to one file if the first row does not start with "opname"
Merge pull request !7824 from yanghaitao/yht_parse_frameworker
This commit is contained in:
commit
fad40466c6
|
@ -473,19 +473,24 @@ class FrameworkParser:
|
|||
with open(self._save_path, 'w') as save_file:
|
||||
csv_writer = csv.writer(save_file)
|
||||
csv_writer.writerow(self._col_names)
|
||||
pre_graph_info = None
|
||||
for path in self._framework_path['graph']:
|
||||
first_row = True
|
||||
with open(path, 'r') as graph_file:
|
||||
for graph_info in graph_file:
|
||||
result = self._parse_one_row_graph_info(graph_info)
|
||||
task_info = task_cache.get(result[0])
|
||||
if task_info:
|
||||
task_info.extend(result)
|
||||
csv_writer.writerow(task_info)
|
||||
del task_cache[result[0]]
|
||||
else:
|
||||
save_info = [None, None, None]
|
||||
save_info.extend(result)
|
||||
csv_writer.writerow(save_info)
|
||||
if first_row is True:
|
||||
first_row = False
|
||||
# The last row of the previous file and the first row of the current file may need
|
||||
# to be combined to one row
|
||||
if graph_info.startswith("op_name:") is False:
|
||||
pre_graph_info = pre_graph_info + graph_info
|
||||
continue
|
||||
if pre_graph_info is not None:
|
||||
self._parse_graph_row_and_save(task_cache, csv_writer, pre_graph_info)
|
||||
pre_graph_info = graph_info
|
||||
|
||||
if pre_graph_info is not None:
|
||||
self._parse_graph_row_and_save(task_cache, csv_writer, pre_graph_info)
|
||||
|
||||
none_list = [None, None, None, None]
|
||||
for key, value in task_cache.items():
|
||||
|
@ -494,6 +499,26 @@ class FrameworkParser:
|
|||
csv_writer.writerow(value)
|
||||
os.chmod(self._save_path, stat.S_IREAD | stat.S_IWRITE)
|
||||
|
||||
def _parse_graph_row_and_save(self, task_cache, csv_writer, graph_info):
|
||||
"""
|
||||
Parse the framework graph row and save the framework information.
|
||||
|
||||
Args:
|
||||
task_cache (dict): The task information cache.
|
||||
csv_writer (csv): Csv writer.
|
||||
graph_info (str): Row info of graph.
|
||||
"""
|
||||
result = self._parse_one_row_graph_info(graph_info)
|
||||
task_info = task_cache.get(result[0])
|
||||
if task_info:
|
||||
task_info.extend(result)
|
||||
csv_writer.writerow(task_info)
|
||||
del task_cache[result[0]]
|
||||
else:
|
||||
save_info = [None, None, None]
|
||||
save_info.extend(result)
|
||||
csv_writer.writerow(save_info)
|
||||
|
||||
def _parse_one_row_graph_info(self, row_info):
|
||||
"""
|
||||
Parse the graph information in one row.
|
||||
|
|
Loading…
Reference in New Issue