#! /usr/bin/env python3 # EXAMPLE : ./view.py bin/*/*log import sys import subprocess cmd = 'for f in %s; do echo $f; grep "SAVED" $f | tail -1; echo ""; done'%" ".join(sys.argv[1:]) p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) models = [] model = [] for line in p.stdout : line = line.decode("utf-8").strip() if len(line) == 0 : epoch = model[1].split(',')[0].split(' ')[-1] name = model[0].split('/')[-2] scores = model[1].split(':')[-1].replace(' SAVED', '') score = sum([float(val.split('=')[-1]) for val in scores.split()]) models.append([score, "%s\t%s\t%s"%(epoch, scores, name)]) model = [] continue model.append(line) models = sorted(models)[::-1] print("\n".join([m[1] for m in models]))