From b83947778e2c776f757a07d4719b7ce961d7ed55 Mon Sep 17 00:00:00 2001 From: Yuren Hao Date: Fri, 3 Jul 2026 05:56:50 -0500 Subject: =?UTF-8?q?Initial=20commit:=20ept=20=E2=80=94=20backprop-free=20e?= =?UTF-8?q?quilibrium=20transformer=20(EP)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Code (ep_run/), organized docs (docs/{method,campaign,hardware,outreach,paper}), analysis scripts (scripts/), ONBOARDING.md entry point. Large data/checkpoints git-ignored (share separately). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_014FAPDWQ49M5Ye3NpTndTpn --- ep_run/redx_freezer2.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 ep_run/redx_freezer2.py (limited to 'ep_run/redx_freezer2.py') diff --git a/ep_run/redx_freezer2.py b/ep_run/redx_freezer2.py new file mode 100644 index 0000000..269d1e5 --- /dev/null +++ b/ep_run/redx_freezer2.py @@ -0,0 +1,21 @@ +import time, os, re, shutil +os.chdir("/home/yurenh2/ept/ep_run") +LOG, CK = "runs/ep_redx.log", "runs/ep_redx.pt" +os.makedirs("runs/redx_traj", exist_ok=True) +seen = set(); t0 = time.time() +while time.time() - t0 < 8 * 3600: + time.sleep(15) + try: ls = [l for l in open(LOG) if l.startswith("step")] + except Exception: continue + if not ls: continue + m = re.search(r"step\s+(\d+)/.*res=([\d.eE+-]+)", ls[-1]) # \s+ : log right-aligns the step number + if not m: continue + step = int(m.group(1)); res = float(m.group(2)) + if step not in seen and os.path.exists(CK) and os.path.getsize(CK) > 1e6: + try: + shutil.copy2(CK, f"runs/redx_traj/s{step}.pt"); seen.add(step) + print(f"froze s{step} res={res:.2e}", flush=True) + except Exception: pass + if res > 0.25: + print(f"DIVERGED step {step} res={res:.2e}; frozen={sorted(seen)}", flush=True); break +print("freezer done; frozen:", sorted(seen)) -- cgit v1.2.3