fix: trial parser now shows LATEST trial (was stuck on first match); params from last block
This commit is contained in:
@@ -14,10 +14,11 @@ def tail_log(n=120):
|
|||||||
return []
|
return []
|
||||||
|
|
||||||
def run_state():
|
def run_state():
|
||||||
lines = tail_log(400)
|
lines = tail_log(3000)
|
||||||
text = "".join(lines)
|
text = "".join(lines)
|
||||||
state = {"phase": "unknown", "trial": 0, "trials_total": 200, "params": [], "done": False, "exit": None}
|
state = {"phase": "unknown", "trial": 0, "trials_total": 200, "params": [], "done": False, "exit": None}
|
||||||
m = re.search(r"Running trial (\d+) of (\d+)", text)
|
m = None
|
||||||
|
for m in re.finditer(r"Running trial (\d+) of (\d+)", text): pass # keep LAST occurrence
|
||||||
if m:
|
if m:
|
||||||
state["phase"] = "optimizing"
|
state["phase"] = "optimizing"
|
||||||
state["trial"] = int(m.group(1)); state["trials_total"] = int(m.group(2))
|
state["trial"] = int(m.group(1)); state["trials_total"] = int(m.group(2))
|
||||||
@@ -32,8 +33,15 @@ def run_state():
|
|||||||
# capture current trial params
|
# capture current trial params
|
||||||
params = {}
|
params = {}
|
||||||
in_params = False
|
in_params = False
|
||||||
for ln in lines:
|
last_param_start = None
|
||||||
if "Parameters:" in ln: in_params = True; params = {}; continue
|
for i, ln in enumerate(lines):
|
||||||
|
if "Parameters:" in ln: last_param_start = i
|
||||||
|
if last_param_start is not None:
|
||||||
|
in_params = True
|
||||||
|
for ln in lines[last_param_start+1:]:
|
||||||
|
pm = re.match(r"\s+\* ([a-z_.]+) = ([^#]+)", ln)
|
||||||
|
if pm: params[pm.group(1)] = pm.group(2).strip()
|
||||||
|
elif ln.strip() and "Parameters" not in ln: break
|
||||||
if in_params:
|
if in_params:
|
||||||
pm = re.match(r"\s+\* ([a-z_.]+) = ([^#]+)", ln)
|
pm = re.match(r"\s+\* ([a-z_.]+) = ([^#]+)", ln)
|
||||||
if pm: params[pm.group(1)] = pm.group(2).strip()
|
if pm: params[pm.group(1)] = pm.group(2).strip()
|
||||||
|
|||||||
Reference in New Issue
Block a user