Buckets:
| # cwm3/eval/run_joint_evals_final_udwm.sh — owner experiment C (2026-09-17; pre-registration docs/decisions.md 2026-09-17T07:00:22Z): paired evaluations of the | |
| # Driver-WM-like driver branch, CPU, layout guards on, <= 3 pairings in parallel (xargs -P 3; each pairing holds ~4 GB, waits for MemAvailable >= MIN_AVAIL_GB). | |
| # Runs I1_{indep,all_minus_road2drv}_s<k>_final_udwm (U base *_udwm = the FINAL U recipe with the Driver-WM temporal encoder at its published width, models/u_driverwm.py) | |
| # vs the FROZEN main I1_all_minus_road2drv_s<k>_final and I1_indep_s<k>_final (read-only). Identical rows, driver populations from the v2 causal kin targets | |
| # (eval/pc_joint_locked.py conventions: n_boot 1000 device-cluster resamples, Δ = A − B, flock-guarded append to results/paired_compare.csv); every tag idempotent. | |
| # finalc_s<k>_allminusudwm_vs_allminus (a) the pre-registered Table 3 comparison: udwm main vs FROZEN main (four driver cells, vehicle cells, D road cells, hazard-NLL costs) | |
| # finalc_s<k>_allminusudwm_vs_indepudwm (b) interaction effect on the udwm bases (B2-style) | |
| # finalc_s<k>_indepudwm_vs_indep (c) the U-base swap alone (assembled bases, no training) | |
| # finalP_s<k>_{allminusudwm_vs_allminus, allminusudwm_vs_indepudwm, indepudwm_vs_indep} P road cells (eval/pressure_eval.py) | |
| # finalcv_s<k>_allminusudwm_vs_allminus (a) on the VALIDATION split (descriptive; the pre-registered placement is a Table 3 row regardless of direction) | |
| # bash eval/run_joint_evals_final_udwm.sh "0 1 2" [render=1] [parallel=3] | |
| set -u | |
| cd "$(dirname "$0")/.." | |
| PY=python | |
| export OMP_NUM_THREADS=4 MKL_NUM_THREADS=4 PY | |
| MIN_AVAIL_GB="${MIN_AVAIL_GB:-8}"; export MIN_AVAIL_GB | |
| C="--kin-targets causal_routes --kin-version v2" | |
| done_run() { [[ -f results/runs/$1/PRED_DONE && -f results/runs/$1/TRAIN_DONE ]]; } | |
| have_tag() { grep -q ",$1,$2,$3," results/paired_compare.csv 2>/dev/null; } # tag regime split | |
| JOBS=$(mktemp) | |
| add() { # kind tag a b split [extra...] | |
| local kind="$1" tag="$2" a="$3" b="$4" split="$5"; shift 5 | |
| done_run "$a" && done_run "$b" || { echo "skip $tag ($a / $b not finished)"; return; } | |
| for reg in manual engaged; do | |
| have_tag "$tag" "$reg" "$split" && continue | |
| echo "$kind|$tag|$a|$b|$split|$reg|$*" >> "$JOBS" | |
| done | |
| } | |
| for s in ${1:-0 1 2}; do | |
| AU=I1_all_minus_road2drv_s${s}_final_udwm; IU=I1_indep_s${s}_final_udwm; AM=I1_all_minus_road2drv_s${s}_final; I=I1_indep_s${s}_final | |
| add pc "finalc_s${s}_allminusudwm_vs_allminus" $AU $AM test $C | |
| add pc "finalc_s${s}_allminusudwm_vs_indepudwm" $AU $IU test $C | |
| add pc "finalc_s${s}_indepudwm_vs_indep" $IU $I test $C | |
| add pe "finalP_s${s}_allminusudwm_vs_allminus" $AU $AM test | |
| add pe "finalP_s${s}_allminusudwm_vs_indepudwm" $AU $IU test | |
| add pe "finalP_s${s}_indepudwm_vs_indep" $IU $I test | |
| add pc "finalcv_s${s}_allminusudwm_vs_allminus" $AU $AM val $C | |
| done | |
| run_one() { # one job line | |
| IFS='|' read -r kind tag a b split reg extra <<< "$1" | |
| while [[ $(awk '/MemAvailable/ {printf "%d", $2/1048576}' /proc/meminfo) -lt $MIN_AVAIL_GB ]]; do sleep 30; done | |
| echo "== $tag $reg ($split, $kind)" | |
| if [[ "$kind" == pc ]]; then | |
| $PY eval/pc_joint_locked.py --regime "$reg" --split "$split" --a "results/runs/$a" --b "results/runs/$b" --tag "$tag" $extra 2>&1 | grep -E "appended|Error|Traceback|File \"|LAYOUT GUARD" | cut -c1-220 | |
| else | |
| $PY eval/pressure_eval.py --regime "$reg" --a "results/runs/$a" --b "results/runs/$b" --tag "$tag" 2>&1 | grep -E "appended|Error|Traceback|File \"|LAYOUT GUARD" | cut -c1-220 | |
| fi | |
| } | |
| export -f run_one | |
| echo "$(wc -l < "$JOBS") pairings to run (<= ${3:-3} parallel)" | |
| xargs -P "${3:-3}" -I{} bash -c 'run_one "$@"' _ {} < "$JOBS" | |
| rm -f "$JOBS" | |
| if [[ "${2:-1}" == "1" ]]; then S=${1:-0 1 2} | |
| $PY eval/report_final_udwm.py --seeds ${S// /,} --out results/tables/stage_final_udwm.md 2>&1 | grep -E "written|VERDICT|ROW" | |
| fi | |
| echo FINAL_UDWM_EVALS_DONE | |
Xet Storage Details
- Size:
- 3.93 kB
- Xet hash:
- 59f93c7d1fb47a62fb95cb5bf8c2cff47d3bfc49aff95803623c1a0fe8bdbea5
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.