Jingqiao-ucsc's picture
Upload WiSER private archive chunk: code_snapshots
13a1c10 verified
Raw
History Blame Contribute Delete
1.17 kB
#!/usr/bin/env bash
set -euo pipefail
CONFIG=${1:-configs/train_1gpu_debug.yaml}
PYTHON_BIN=${PYTHON:-python3}
"$PYTHON_BIN" - <<'PY' "$CONFIG"
import sys, yaml, pathlib
cfg = yaml.safe_load(pathlib.Path(sys.argv[1]).read_text())
num_gpus = int(cfg.get("num_gpus", 1))
out = pathlib.Path(cfg.get("output_dir", "outputs/train"))
out.mkdir(parents=True, exist_ok=True)
print(f"config={sys.argv[1]}")
print(f"num_gpus={num_gpus}")
print(f"output_dir={out}")
print("This public wrapper records the intended WiSER alternating schedule.")
print("Run the phase scripts directly for production training after filling checkpoint paths.")
PY
cat <<'EOF'
WiSER training schedule used by the paper:
P0 radiomap warmup
P1 CIR restore with frozen scene encoder / radiomap head
P2 radiomap refinement
P3-P8 alternating CIR and radiomap refinement
P9 final radiomap refinement
Public phase scripts:
scripts/train_phase_radiomap.py
scripts/train_phase_cir.py
scripts/evaluate_dual.py
This wrapper is intentionally conservative: it does not launch a long training
job until users fill the data manifests and warm-start checkpoint paths in a
local run script.
EOF