Buckets:
| # cwm3/eval/run_joint_evals_final_ecan.sh — paired evaluations of the F5b E-CAN variants (WP4 batch 1, road-side agent, 2026-09-16; pre-registered in docs/decisions.md | |
| # 2026-09-16T14:10:00Z), CPU, layout guards on. Runs I1_{indep,all_minus_road2drv}_s<k>_final_ecan (E base E0_pooled_P_can: vf256 PCA 0..215 + 40 CAN anchor features) | |
| # and _ecanonly (E base E0_pooled_P_canonly: no vision tokens, CAN features only) vs the FROZEN main I1_all_minus_road2drv_s<k>_final and I1_indep_s<k>_final (read-only). | |
| # finalc_s<k>_allminusecan_vs_allminus (a) the pre-registered comparison: sensor + vision E base vs FROZEN main | |
| # finalc_s<k>_allminusecanonly_vs_allminus (a2) the sensor-only control vs FROZEN main (= the CAN information alone) | |
| # finalc_s<k>_allminusecan_vs_allminusecanonly (b) vision on top of the sensors (attribution: input information vs the visual stream) | |
| # finalc_s<k>_indepecan_vs_indep, finalc_s<k>_indepecanonly_vs_indep the E-base swap alone (assembled bases, no joint training) | |
| # finalc_s<k>_allminusecan_vs_indepecan interaction effect on the ecan bases (B2-style, descriptive) | |
| # finalcm_s<k>_allminusecan{,only}_vs_allminus masked protocol (64 v2 driver-box-suspect routes censored) — sensitivity | |
| # finalP_s<k>_allminusecan_vs_allminus, finalP_s<k>_allminusecanonly_vs_allminus, finalP_s<k>_allminusecan_vs_allminusecanonly P cells (eval/pressure_eval.py) | |
| # bash eval/run_joint_evals_final_ecan.sh "0 1 2" [render=1] | |
| set -u | |
| cd "$(dirname "$0")/.." | |
| PY=python | |
| export OMP_NUM_THREADS=4 MKL_NUM_THREADS=4 | |
| MASK=results/targets_kin_causal_routes_v2/driver_box_suspect_routes.json | |
| have_tag() { grep -q ",$1,$2,test," results/paired_compare.csv 2>/dev/null; } | |
| done_run() { [[ -f results/runs/$1/PRED_DONE && -f results/runs/$1/TRAIN_DONE ]]; } | |
| pc() { # tag a b [extra args] | |
| local tag="$1" a="$2" b="$3"; shift 3 | |
| done_run "$a" || { echo "skip $tag ($a not finished)"; return; } | |
| done_run "$b" || { echo "skip $tag ($b not finished)"; return; } | |
| for reg in manual engaged; do | |
| have_tag "$tag" "$reg" && continue | |
| echo "== $tag $reg" | |
| $PY eval/paired_compare_joint.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 | |
| done | |
| } | |
| pe() { # pressure_eval: tag a b | |
| local tag="$1" a="$2" b="$3" | |
| done_run "$a" && done_run "$b" || { echo "skip $tag"; return; } | |
| for reg in manual engaged; do | |
| have_tag "$tag" "$reg" && continue | |
| echo "== $tag $reg (P cells)" | |
| $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 | |
| done | |
| } | |
| C="--kin-targets causal_routes --kin-version v2" | |
| for s in ${1:-0 1 2}; do | |
| AC=I1_all_minus_road2drv_s${s}_final_ecan; IC=I1_indep_s${s}_final_ecan; AO=I1_all_minus_road2drv_s${s}_final_ecanonly; IO=I1_indep_s${s}_final_ecanonly | |
| AM=I1_all_minus_road2drv_s${s}_final; I=I1_indep_s${s}_final | |
| pc "finalc_s${s}_allminusecan_vs_allminus" $AC $AM $C | |
| pc "finalc_s${s}_allminusecanonly_vs_allminus" $AO $AM $C | |
| pc "finalc_s${s}_allminusecan_vs_allminusecanonly" $AC $AO $C | |
| pc "finalc_s${s}_indepecan_vs_indep" $IC $I $C | |
| pc "finalc_s${s}_indepecanonly_vs_indep" $IO $I $C | |
| pc "finalc_s${s}_allminusecan_vs_indepecan" $AC $IC $C | |
| pc "finalcm_s${s}_allminusecan_vs_allminus" $AC $AM $C --mask-routes $MASK | |
| pc "finalcm_s${s}_allminusecanonly_vs_allminus" $AO $AM $C --mask-routes $MASK | |
| pe "finalP_s${s}_allminusecan_vs_allminus" $AC $AM | |
| pe "finalP_s${s}_allminusecanonly_vs_allminus" $AO $AM | |
| pe "finalP_s${s}_allminusecan_vs_allminusecanonly" $AC $AO | |
| done | |
| if [[ "${2:-1}" == "1" ]]; then S=${1:-0 1 2} | |
| $PY eval/report_final_ecan.py --seeds ${S// /,} --out results/tables/stage_final_ecan.md 2>&1 | grep -E "written|VERDICT|rule" | |
| fi | |
| echo FINAL_ECAN_EVALS_DONE | |
Xet Storage Details
- Size:
- 3.92 kB
- Xet hash:
- 04e6aea403d1165a9e68e0b368493a4f273e46274b8b03ae90ee6306972d10e3
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.