/
performance_log.py
56 lines (42 loc) · 1.35 KB
/
performance_log.py
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
44
45
46
47
48
49
50
51
52
53
54
55
import os
import json
registered_args = {}
logged_stats = {}
def log_args(args):
global registered_args
for k, v in dict(args).items():
registered_args[k] = v
def log_stat(stat):
global logged_stats
for k, v in stat.items():
if not k in logged_stats.keys():
logged_stats[k] = []
logged_stats[k].append(v)
def close_log(notes):
global registered_args
global logged_stats
final_dict = {"args": registered_args, "stats": logged_stats, "notes": notes}
os.makedirs("logged", exist_ok=True)
for i in range(100000):
fname = f"logged/stat_{i:04d}.json"
if not os.path.isfile(fname):
break
with open(fname, "w") as f:
json.dump(final_dict, f)
def create_plot_file(files):
for i in range(100000):
fname = files['output_directory']+f"{i:04d}"+files['output_file']
if not os.path.isfile(fname):
break
return fname
def write_plot_file(fname, mode, t, cx, rad, M1):
f = open(fname, mode)
f.write(str(t) + " ")
f.write(' '.join(map(str, cx.reshape(-1))) + " ")
f.write(str(rad) + " ")
f.write(' '.join(map(str, M1.reshape(-1))) + "\n")
f.close()
if __name__ == "__main__":
print("registered_args: ", str(registered_args))
log_args({"hello": "test"})
print("registered_args: ", str(registered_args))