diff options
Diffstat (limited to 'research/flossing/run_trm_cf_abcd.sh')
| -rwxr-xr-x | research/flossing/run_trm_cf_abcd.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/research/flossing/run_trm_cf_abcd.sh b/research/flossing/run_trm_cf_abcd.sh new file mode 100755 index 0000000..3086f67 --- /dev/null +++ b/research/flossing/run_trm_cf_abcd.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# TRM CF experiments from step_260410 (final ckpt, baseline acc ~0.77). +# A: α=10 λ*=0 (universal default, like ABCDEF on HRM) +# B: α=10 λ*=+0.03 (保护 TRM succ 区间) +# C: α=1 λ*=0 (gentler α) +# D: α=0 baseline (just continue training, no CF) +set -e +cd /home/yurenh2/rrm/research/flossing +source /home/yurenh2/miniconda3/etc/profile.d/conda.sh +conda activate rrm +export CUDA_VISIBLE_DEVICES=0 + +CKPT_ROOT="/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_singleGPU" +# Start from step_26041 (epoch 5K, acc 0.576, succ λ=-0.036 HRM-like margin) — 8/8 attractor 还没结构化 +# 这是 TRM 唯一 succ 有 -0.04 margin、CF λ*=0 完全 vacuous on succ 的 ckpt +SRC_CKPT="step_26041" + +run_cf() { + local TAG=$1; local ALPHA=$2; local LSTAR=$3 + local OUT=step5_${TAG}_trm_${SRC_CKPT}_alpha${ALPHA}_lstar${LSTAR}.json + local LOG=step5_${TAG}.log + if [ -f "$OUT" ]; then echo "skip $TAG"; return; fi + echo "[$(date '+%H:%M:%S')] Starting $TAG (α=$ALPHA λ*=$LSTAR) from $SRC_CKPT" >> step5_runner.log + python step5_train_trm_cf.py \ + --ckpt-root "$CKPT_ROOT" --ckpt-name "$SRC_CKPT" \ + --n-steps 500 --batch-size 8 \ + --alpha-rf $ALPHA --rf-mode fixed --lambda-star $LSTAR \ + --k-lyap 2 --lyap-act-steps 4 \ + --eval-every 100 --eval-n 512 --eval-batch-size 32 \ + --out $OUT > $LOG 2>&1 + echo "[$(date '+%H:%M:%S')] $TAG done" >> step5_runner.log +} + +run_cf D 0 0 +run_cf A 10 0 +run_cf B 10 0.03 +run_cf C 1 0 + +echo "[$(date '+%H:%M:%S')] All TRM CF conditions complete" >> step5_runner.log |
