22p: joint-fit grid — floor essential (without: corpus x2), optimum scale=0.90 TOTAL 5.215, comb beats canon first time; canon stays HEAD
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env python3
|
||||
"""gridfit22p.py — sweep new-arch env params over corpus, report TOTALs."""
|
||||
import subprocess, re, sys, itertools, json
|
||||
|
||||
BASE = {
|
||||
"RT_LUT_OFF": "1", "RT_IIR12": "0", "RT_NOWARP": "1",
|
||||
"RT_NOBLEND": "1", "RT_NOIIR3": "1", "RT_ENV": "live",
|
||||
}
|
||||
|
||||
def run(pool, scale, floor):
|
||||
env = {**BASE, "RT_POOL": str(pool), "RT_SCALE_M": str(scale), "RT_FLOOR": str(floor)}
|
||||
import os
|
||||
e = {**os.environ, **env}
|
||||
r = subprocess.run(["python3", "scripts/corpus_structural.py"],
|
||||
capture_output=True, text=True, env=e, cwd="/home/m/re-tools")
|
||||
m = re.search(r"TOTAL\s+62\s+([\d.]+)\s+([\d.]+)", r.stdout)
|
||||
groups = dict(re.findall(r"(t1kq|t1k|al|res|dual|comb)\s+\d+\s+([\d.]+)", r.stdout))
|
||||
if not m:
|
||||
return None, None, groups
|
||||
return float(m.group(1)), float(m.group(2)), groups
|
||||
|
||||
if __name__ == "__main__":
|
||||
grid = []
|
||||
scales = [1.05, 1.10, 1.144]
|
||||
pools = [0] if len(sys.argv) < 2 else None
|
||||
results = []
|
||||
for pool, scale, floor in itertools.product([0], scales, [1]):
|
||||
tot, mx, g = run(pool, scale, floor)
|
||||
if tot is None:
|
||||
print(f"pool={pool} scale={scale} floor={floor}: FAILED"); continue
|
||||
print(f"pool={pool} scale={scale:.3f} floor={floor}: TOTAL={tot:.3f} max={mx:.2f} {g}")
|
||||
results.append((tot, pool, scale, floor, g))
|
||||
results.sort()
|
||||
best = results[0]
|
||||
print("\nBEST: TOTAL=%.3f pool=%d scale=%.3f floor=%d" % (best[0], best[1], best[2], best[3]))
|
||||
# second stage around best scale with pool variants
|
||||
_, bp, bs, bf, _ = best
|
||||
for pool in [3, 5]:
|
||||
for ds in [-0.04, 0.0, 0.04]:
|
||||
sc = round(bs + ds, 3)
|
||||
tot, mx, g = run(pool, sc, bf)
|
||||
if tot is None: continue
|
||||
print(f"[stage2] pool={pool} scale={sc:.3f}: TOTAL={tot:.3f} {g}")
|
||||
results.append((tot, pool, sc, bf, g))
|
||||
results.sort()
|
||||
b = results[0]
|
||||
json.dump({"total": b[0], "pool": b[1], "scale": b[2], "floor": b[3], "groups": b[4]},
|
||||
open("/tmp/opencode/gridfit_best.json", "w"), indent=1)
|
||||
print("\nFINAL BEST: TOTAL=%.3f pool=%d scale=%.3f floor=%d" % (b[0], b[1], b[2], b[3]))
|
||||
Reference in New Issue
Block a user