def _iter_scalars(run, args): from guild import index as indexlib # expensive for s in indexlib.iter_run_scalars(run): key = run_util.run_scalar_key(s) if args.all_scalars: yield key, _scalar_vals(s, args) else: yield key, _scalar_last_val(s, args)
def _iter_scalars(run, args): from guild import index as indexlib # expensive for s in indexlib.iter_run_scalars(run): key = _s_key(s) val = _s_val(s) step = _s_step(s) if args.json: yield key, (val, step) else: yield key, "%f (step %i)" % (_s_val(s), _s_step(s))
def _print_run_info(item, output=False, scalars=False): for name in RUN_DETAIL: print("%s: %s" % (name, item.fmt.get(name, ""))) print("flags:", end="") print(run_util.format_attr(item.value.get("flags", ""))) if scalars: print("scalars:") for s in indexlib.iter_run_scalars(item.value): print(" %s: %f (step %i)" % (s["tag"], s["last_val"], s["last_step"])) if output: print("output:") for line in run_util.iter_output(item.value): print(" %s" % line, end="")
def _run_scalar_data(run): data = {} step = None last_step = None for s in indexlib.iter_run_scalars(run): key = s["tag"] data[key] = s["last_val"] last_step = s["last_step"] if key == "loss": step = last_step if data: if step is None: step = last_step data["step"] = step return data
def _runs_scalars(runs): data = [] cols = [ "run", "prefix", "tag", "first_val", "first_step", "last_val", "last_step", "min_val", "min_step", "max_val", "max_step", "avg_val", "count", "total", ] for run in runs: for s in indexlib.iter_run_scalars(run): data.append(s) return pd.DataFrame(data, columns=cols)