#!/usr/bin/env bash
# main.py as shipped: 25 training runs, final EMA val accuracy per run, mean and variance.
set -o pipefail
cd "$(dirname "$0")"
echo "KVERITAS_PHASE name=train_25_runs"
../env/bin/python -u main.py 2>&1 | awk -F'|' '
{ print; fflush() }
/^\|/ && NF>=9 {
  e=$2; gsub(/ /,"",e)
  if (e !~ /^[0-9]+$/) next
  if (e==0) run++
  for (i=3;i<=8;i++) { v[i]=$i; gsub(/ /,"",v[i]) }
  printf "KVERITAS_METRIC name=val_acc value=%s step=r%d_e%s\n", v[6], run, e
  if (v[7]!="") ema=v[7]
  last=1; fflush(); next
}
/^-+$/ && last==1 {
  printf "KVERITAS_METRIC name=final_ema_val_acc value=%s step=%d\n", ema, run
  printf "KVERITAS_METRIC name=total_time_seconds value=%s step=%d\n", v[8], run
  last=0; fflush()
}
/^Mean and variance:/ {
  s=$0; gsub(/.*\(/,"",s); gsub(/\).*/,"",s); split(s,a,", *")
  print "KVERITAS_PHASE name=summary"
  printf "KVERITAS_CLAIM metric=mean_final_ema_val_acc value=%s\n", a[1]
  printf "KVERITAS_CLAIM metric=var_final_ema_val_acc value=%s\n", a[2]
  fflush()
}'
