in pyrela/analyze_sweep.py [0:0]
def analyze_sweep(root, max_epoch, min_epoch, filter_string):
logs = parse_from_root(root, max_epoch, min_epoch, filter_string)
l = list(logs.items())
l = sorted(l, key=lambda x: shorten_name(x[0]))
summary = [
(
shorten_name(ll[0]),
ll[1]["epoch"],
ll[1]["act_rate"],
ll[1]["train_rate"],
ll[1]["buffer_rate"],
ll[1]["final_score"],
ll[1]["calc_loss"],
ll[1]["back_prop"],
ll[1]["sample"],
)
for ll in l
]
# header = ["name", "epoch", "act", "train", "buffer", "score"]
header = [
"name",
"epoch",
"act",
"train",
"buffer",
"score",
"calc_l",
"bp",
"sample",
]
print(tabulate(summary, headers=header))
# print('\n=====avg, stderr======')
# avg_scores = {k: v['scores'] for k, v in logs.items()}
# avg_scores = average_across_seed(avg_scores)
# l = list(avg_scores.items())
# l = sorted(l, key=lambda x: x[0])
# summary = [(
# shorten_name(ll[0]),
# len(ll[1][0]),
# np.mean(ll[1][0][-10:]),
# ) for ll in l]
# header = ['name', 'epoch', 'score']
# print(tabulate(summary, headers=header))
# print('\n======best over seed======')
# scores = {k: v['scores'] for k, v in logs.items()}
# best_scores = max_across_seed(scores)
# for k, (s, loc) in best_scores.items():
# print('%s: %.2f' % (k, s))
# print('\tat: ', loc)
return logs