#!/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