#!/usr/bin/env bash # Development-only C2 screen after the direct-NP diagnosis confirmed that # feedback amortization is the bottleneck. Task seed 0 is reused strictly for # development; task seeds 6--8 are reserved for any independent confirmation. # # Frozen choices: context-gated vectorizer, eta=0.03, eta_A=0.01, layerwise # antithetic calibration every four steps. Compare K4/K16 at d1/d4 over model # seeds 0--2. The analyzer chooses the higher mean d4 endpoint, preferring K4 # whenever it is within one point of the best finite candidate. # Usage: c2_calibration_quality_pilot.sh "" set -eu cd "$(dirname "$0")/.." GPU="${1:?GPU index required}" MODEL_SEEDS="${2:-0 1 2}" PYTHON="${PYTHON:-/home/yurenh2/miniconda3/envs/ep_pascal/bin/python3}" for directions in 4 16; do for model_seed in $MODEL_SEEDS; do for depth in 1 4; do tag="c2_calibdev_v1_tent_l2_w8_context_k${directions}_d${depth}_t0_s${model_seed}" out="results/${tag}.json" if [ -s "$out" ]; then echo "[$tag] exists; skipping" continue fi lesion=0 if [ "$depth" -eq 4 ]; then lesion=0.3333333333333333 fi CUDA_VISIBLE_DEVICES="$GPU" "$PYTHON" experiments/run.py \ --mode sdil --dataset tentmap --device cuda \ --depth "$depth" --width 8 --act relu --residual 1 \ --residual_lesion_fraction "$lesion" \ --vectorizer_mode context_gated \ --epochs 80 --batch_size 256 --eta 0.03 --momentum 0.9 \ --eta_A 0.01 --eta_P 0.002 \ --pert_sigma 0.01 --pert_every 4 --pert_ndirs "$directions" \ --pert_mode layerwise \ --traffic_mode none --nuis_rho 0 \ --use_residual 1 --learn_A 1 --learn_P 1 --p_neutral 1 \ --task_train_examples 10000 --task_test_examples 5000 \ --task_levels 2 --task_n_in 1 --task_seed 0 \ --val_examples 2000 --split_seed 2027 --eval_split validation --eval_every 0 \ --diagnostics alignment --diagnostics_schedule final --probe_bs 512 \ --seed "$model_seed" --log_every 100000 --tag "$tag" done done done