in onnxconverter_common/perfstats.py [0:0]
def main():
args = get_args()
entries = read_raw_entries(args.input)
if args.type:
entries = compute_op_type_entries(entries)
elif args.node:
entries = compute_node_entries(entries)
elif args.step:
entries = compute_step_entries(entries)
exc_entries = []
if args.query:
exc_entries.extend(e for e in entries if not args.query.match(e))
entries = [e for e in entries if args.query.match(e)]
if args.limit >= 0:
exc_entries.extend(entries[args.limit:])
entries = entries[:args.limit]
if args.type:
col_widths = type_entry_col_widths
headers = type_entry_headers
elif args.node:
col_widths = node_entry_col_widths
headers = node_entry_headers
elif args.step:
col_widths = step_entry_col_widths
headers = step_entry_headers
elif args.raw:
col_widths = raw_entry_col_widths
headers = raw_entry_headers
if args.output:
with open(args.output, mode='w', newline='') as f:
writer = csv.writer(f, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
if not args.data_only:
writer.writerow(headers)
for entry in entries:
writer.writerow(entry)
else:
printer = TablePrinter(col_widths)
if not args.data_only:
printer.print(headers)
printer.print_divider()
for entry in entries:
printer.print(entry)