forked from pytorch/benchmark
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathparse.py
More file actions
43 lines (27 loc) · 999 Bytes
/
parse.py
File metadata and controls
43 lines (27 loc) · 999 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import argparse
import csv
import json
def prepare_args():
parser = argparse.ArgumentParser()
parser.add_argument("--file", required=True, type=str)
parser.add_argument("--out", default="./output.csv", type=str)
temp_args = parser.parse_args()
return temp_args
def main(args):
with open(args.file, "r") as fp:
json_dict = json.load(fp)
stats_dict = {}
for b in json_dict['benchmarks']:
test_or_val, model_name = b['name'].split("[")
model_name = model_name.replace("]", "")
model_name = f"{model_name}_{test_or_val}"
stats_dict[model_name] = b['stats']['median'] * 1000
keys = list(reversed(sorted(stats_dict)))
with open(args.out, "w") as fp:
writer = csv.writer(fp)
writer.writerow(keys)
writer.writerow(stats_dict[k] for k in keys)
print("parsing file {} and outputting to file {}".format(
args.file, args.out))
if __name__ == "__main__":
main(prepare_args())