47 lines
1.9 KiB
Python
47 lines
1.9 KiB
Python
|
|
"""
|
||
|
|
exp13_v2_launcher.py — Run exp13 multiscale sweep with convnext_model_v2.json (ep=13).
|
||
|
|
|
||
|
|
Changes vs default exp13:
|
||
|
|
- MODEL_1M → convnext_model_v2.json (calibration-fixed, always-positive z[13])
|
||
|
|
- PROXY_B_DIM → 13 (z[13] is proxy_B dim in v2, vs z[10] in ep=17)
|
||
|
|
|
||
|
|
Everything else identical to exp13_multiscale_sweep.py.
|
||
|
|
Results logged to ../../exp13_v2_screening_run.log
|
||
|
|
|
||
|
|
Usage (from nautilus_dolphin/ dir):
|
||
|
|
python dvae/exp13_v2_launcher.py --subset 14 --top_k 20 # Phase 1 screening
|
||
|
|
python dvae/exp13_v2_launcher.py --subset 0 --top_k 0 # Full 56-day run
|
||
|
|
|
||
|
|
Why v2 should be better:
|
||
|
|
ep=17 z[10]: ALWAYS NEGATIVE [-1.24, -0.30] → direct scaling configs hurt
|
||
|
|
v2 z[13]: ALWAYS POSITIVE [+0.17, +1.46] → direct scaling configs work correctly
|
||
|
|
Separation (proxy_B quartiles): 0.46 (ep=17) → 0.61 (v2) — 32% improvement
|
||
|
|
"""
|
||
|
|
import sys, os
|
||
|
|
from pathlib import Path
|
||
|
|
|
||
|
|
ROOT = Path(__file__).resolve().parent.parent.parent
|
||
|
|
sys.path.insert(0, str(ROOT / 'nautilus_dolphin'))
|
||
|
|
|
||
|
|
# ── patch model path and proxy_B dim before importing main ───────────────────
|
||
|
|
MODEL_V2 = ROOT / 'nautilus_dolphin' / 'dvae' / 'convnext_model_v2.json'
|
||
|
|
PROXY_B_V2 = 13 # z[13] r=+0.9332 for v2 ep=13 (auto-confirmed by proto_v2_query.py)
|
||
|
|
|
||
|
|
assert MODEL_V2.exists(), f"v2 model not found: {MODEL_V2}"
|
||
|
|
|
||
|
|
import dvae.exp13_multiscale_sweep as e13
|
||
|
|
import dvae.convnext_sensor as cs
|
||
|
|
|
||
|
|
# Patch module-level constants before main() runs
|
||
|
|
e13.MODEL_1M = MODEL_V2
|
||
|
|
e13.PROXY_B_DIM = PROXY_B_V2
|
||
|
|
cs.PROXY_B_DIM = PROXY_B_V2 # sensor module also exports this
|
||
|
|
|
||
|
|
print(f"[v2-launcher] MODEL_1M → {MODEL_V2.name}")
|
||
|
|
print(f"[v2-launcher] PROXY_B_DIM → {PROXY_B_V2} (was 10)")
|
||
|
|
print(f"[v2-launcher] v2 ep=13 val=18.002 z[13] r=+0.933 calibration=ALWAYS_POSITIVE")
|
||
|
|
print()
|
||
|
|
|
||
|
|
if __name__ == '__main__':
|
||
|
|
e13.main()
|