File size: 845 Bytes
dae5c90
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import argparse
import csv
import os
import json

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("experiment")
    args = parser.parse_args()

    input_file = os.path.join(args.experiment, "log.txt")
    output_file = os.path.join(args.experiment, "log.csv")

    with open(input_file, "r") as fin, open(output_file, "w", newline="") as fout:
        lines = fin.readlines()

        keys = list(json.loads(lines[0]).keys())
        if "epoch" in keys:
            keys.remove("epoch")

        header = ["epoch"] + keys
        writer = csv.DictWriter(fout, fieldnames=header)
        writer.writeheader()

        for epoch, line in enumerate(lines):
            data = json.loads(line)
            writer.writerow(data)

    print(f"Done, saved to file {output_file}")