summaryrefslogtreecommitdiff
path: root/experiments/c2_nlms_pilot.sh
diff options
context:
space:
mode:
authorYurenHao0426 <Blackhao0426@gmail.com>2026-07-22 05:19:28 -0500
committerYurenHao0426 <Blackhao0426@gmail.com>2026-07-22 05:19:28 -0500
commit533fd8e7877350bda29384f780abae8bf3ead12a (patch)
tree4972cc76a61d9a0bf88b6a8fa8c8298a1f8c9c2f /experiments/c2_nlms_pilot.sh
parentf56e60c9bc095904e1ee721e70a991b77b801e53 (diff)
experiments: freeze normalized C2 recovery
Diffstat (limited to 'experiments/c2_nlms_pilot.sh')
-rwxr-xr-xexperiments/c2_nlms_pilot.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/experiments/c2_nlms_pilot.sh b/experiments/c2_nlms_pilot.sh
new file mode 100755
index 0000000..43a3d4a
--- /dev/null
+++ b/experiments/c2_nlms_pilot.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+# Final bounded task-seed-0 C2 recovery screen. The context vectorizer uses
+# normalized LMS in both a 100-step A-only layerwise-K4 prefix and the original
+# simultaneous-K1/e4 joint phase. Compare eta_A 0.01/0.05 only.
+# Usage: c2_nlms_pilot.sh <gpu> "<model seeds>"
+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 eta_a in 0.01 0.05; do
+ case "$eta_a" in
+ 0.01) eta_tag=0p01 ;;
+ 0.05) eta_tag=0p05 ;;
+ *) echo "unexpected eta_A: $eta_a" >&2; exit 2 ;;
+ esac
+ for model_seed in $MODEL_SEEDS; do
+ for depth in 1 4; do
+ tag="c2_nlmsdev_v1_tent_l2_w8_context_e${eta_tag}_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 --vectorizer_optimizer nlms \
+ --epochs 80 --batch_size 256 --eta 0.03 --momentum 0.9 \
+ --eta_A "$eta_a" --eta_P 0.002 \
+ --pert_sigma 0.01 --pert_every 4 --pert_ndirs 1 \
+ --pert_mode simultaneous \
+ --a_warmup_steps 100 --a_warmup_ndirs 4 --a_warmup_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