summaryrefslogtreecommitdiff
path: root/research/flossing/run_trm_chaos_onset_diag.sh
diff options
context:
space:
mode:
Diffstat (limited to 'research/flossing/run_trm_chaos_onset_diag.sh')
-rwxr-xr-xresearch/flossing/run_trm_chaos_onset_diag.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/research/flossing/run_trm_chaos_onset_diag.sh b/research/flossing/run_trm_chaos_onset_diag.sh
new file mode 100755
index 0000000..b50d221
--- /dev/null
+++ b/research/flossing/run_trm_chaos_onset_diag.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+# Diagnose TRM joint Lyapunov on all saved single-GPU checkpoints.
+# Plots Δλ (succ-fail) trajectory to find chaos onset.
+set -e
+cd /home/yurenh2/rrm/research/flossing
+source /home/yurenh2/miniconda3/etc/profile.d/conda.sh
+conda activate rrm
+export CUDA_VISIBLE_DEVICES=2
+
+CKPT_ROOT="/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_singleGPU"
+
+# Diagnose each saved ckpt (skip if output exists)
+for STEP in 26041 52082 78123 104164 130205; do
+ OUT=diag_trm_singleGPU_step${STEP}_512.npz
+ LOG=diag_trm_singleGPU_step${STEP}.log
+ if [ -f "$OUT" ]; then
+ echo "[$(date '+%H:%M:%S')] step_${STEP} already diagnosed, skipping" | tee -a trm_chaos_diag.log
+ continue
+ fi
+ echo "[$(date '+%H:%M:%S')] diagnose step_${STEP}..." | tee -a trm_chaos_diag.log
+ python diagnose_trm_joint.py \
+ --ckpt-root "$CKPT_ROOT" \
+ --ckpt-name step_${STEP} \
+ --n-samples 512 \
+ --batch-size 16 --k-lyap 8 --t-ons 1 --seed 0 \
+ --out $OUT \
+ > $LOG 2>&1
+ echo "[$(date '+%H:%M:%S')] step_${STEP} done" | tee -a trm_chaos_diag.log
+done
+
+echo "[$(date '+%H:%M:%S')] All TRM chaos onset diagnostics complete" | tee -a trm_chaos_diag.log