in pyrela/parse_log.py [0:0]
def parse_from_root(root, max_epoch, min_epoch, filter_string):
logs = {}
root = os.path.abspath(root)
for exp in os.listdir(root):
if filter_string:
go = True
for s in filter_string:
if s not in exp:
go = False
break
if not go:
continue
exp_folder = os.path.join(root, exp)
log_file = os.path.join(exp_folder, "train.log")
if os.path.exists(log_file):
try:
log = parse_log(log_file, max_epoch)
if min_epoch > 0 and log["epoch"] < min_epoch:
print(
"%s is dropped due to being too short\n\t%d vs %d"
% (log_file, log["epoch"], min_epoch)
)
else:
logs[exp] = log
except:
print("something is wrong with %s" % log_file)
return logs