pytorch

Форк
0
/
combine_csv.py 
49 строк · 1.3 Кб
1
# This script takes csvs produced by parse_logs.py and combines them
2
# into a single CSV file
3

4
import ast
5
import csv
6
import sys
7
from collections import defaultdict
8

9
assert len(sys.argv) == 3
10

11
RESULTS = defaultdict(dict)
12

13
for side, f in zip(["static", "dynamic"], sys.argv[1:]):
14
    with open(f) as f:
15
        reader = csv.DictReader(f)
16
        for row in reader:
17
            RESULTS[(row["bench"], row["name"])][side] = row
18

19
fields = ["frame_time", "graph_breaks"]
20

21
out = csv.DictWriter(
22
    sys.stdout,
23
    ["bench", "name"] + [f"delta_{n}" for n in fields] + ["static_url", "dynamic_url"],
24
    dialect="excel",
25
)
26
out.writeheader()
27

28
for (bench, name), sides in RESULTS.items():
29
    if "static" not in sides:
30
        continue
31
    if "dynamic" not in sides:
32
        continue
33
    if not name:
34
        out.writerow(
35
            {
36
                "static_url": sides["static"]["explain"],
37
                "dynamic_url": sides["dynamic"]["explain"],
38
            }
39
        )
40
        continue
41
    row = {"bench": bench, "name": name}
42
    for f in fields:
43
        try:
44
            static = ast.literal_eval(sides["static"][f])
45
            dynamic = ast.literal_eval(sides["dynamic"][f])
46
        except SyntaxError:
47
            continue
48
        row[f"delta_{f}"] = dynamic - static
49
    out.writerow(row)
50

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.