diff options
| author | YurenHao0426 <blackhao0426@gmail.com> | 2026-06-29 12:15:51 -0500 |
|---|---|---|
| committer | YurenHao0426 <blackhao0426@gmail.com> | 2026-06-29 12:15:51 -0500 |
| commit | a6ec4288a2232988b130b2f00bb2565f81706966 (patch) | |
| tree | 1bb86e7f0b899b823b9e7fdf383e832d30a181e0 /flossing_suite | |
Recursive reasoning dynamics: analysis pipeline, paper drafts, toy models
Failure=more-chaotic (task-general under validity labeling) reduces to convergence/completeness
detection; mechanism (transient chaos vs multistability vs input-induced) under investigation.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Diffstat (limited to 'flossing_suite')
22 files changed, 1618 insertions, 0 deletions
diff --git a/flossing_suite/README.md b/flossing_suite/README.md new file mode 100644 index 0000000..6081c97 --- /dev/null +++ b/flossing_suite/README.md @@ -0,0 +1,89 @@ +# Flossing Suite + +This directory is a reproducible wrapper around the existing flossing code. +It separates three questions: + +1. Does the Engelken algorithm itself reproduce on a vanilla RNN toy task? +2. Does a faithful pre/interfloss analogue help TRM/HRM when the flossing phase is separate from task loss? +3. Do our one-sided variants (`top1_cf`, `spectrum_cf`, `volume_cf`) behave differently from Engelken's two-sided L2 target? + +## Important Algorithmic Distinctions + +- `engelken_python_flossing.py` is the toy RNN faithful port. It keeps the paper-style separate flossing phase, no task/floss mixed objective, flosses only input/recurrent/bias parameters, uses differentiable QR, and optimizes `mean((lambda_i - lambda_star)^2)`. +- `step7_interfloss.py` is the HRM/TRM analogue. It also uses separate floss-only episodes. Ordinary training steps use only supervised ACT loss. +- `step7_interfloss.py --floss-mode engelken_l2` is the Rainer-style two-sided target. +- `top1_cf`, `spectrum_cf`, and `volume_cf` are our one-sided contractive variants, not the paper method. +- KL preservation is optional and only applies during floss-only episodes. + +## Current Known Sanity Check + +Existing toy RNN result: + +- Baseline no floss: final eval accuracy about `0.777`. +- Prefloss: final eval accuracy about `0.997`. + +This means the Python port can reproduce a positive toy result. Negative HRM/TRM results should therefore be interpreted as model/task transfer issues, not simply "flossing code cannot work." + +## Recommended Workflow + +Run smoke tests: + +```bash +bash research/flossing/flossing_suite/smoke_test.sh 0 +``` + +Launch toy RNN paper-style suite: + +```bash +bash research/flossing/flossing_suite/launch_toy_official_suite.sh +``` + +Launch TRM faithful Rainer-style suite: + +```bash +GPU_BASE=0 GPU_PREFLOSS=1 GPU_INTER=3 bash research/flossing/flossing_suite/launch_trm_faithful_suite.sh +``` + +Launch TRM CF/volume variants: + +```bash +GPU_TOP1=0 GPU_VOLUME=1 GPU_KL=3 bash research/flossing/flossing_suite/launch_trm_variant_suite.sh +``` + +Summarize all available flossing logs: + +```bash +/home/yurenh2/miniconda3/envs/rrm/bin/python research/flossing/flossing_suite/summarize_flossing.py +``` + +Check active jobs: + +```bash +bash research/flossing/flossing_suite/status.sh +``` + +Wait for current TRM faithful jobs and refresh summary: + +```bash +bash research/flossing/flossing_suite/watch_and_summarize.sh +``` + +Outputs go to: + +- `results/toy_rnn/` +- `results/trm_faithful/` +- `results/trm_variants/` +- `results/smoke/` +- `results/summary/` + +## Existing Historical Results Included By Summarizer + +The summarizer also scans: + +- `research/flossing/engelken_python/*.json` +- `research/flossing/engelken_paper_faithful/*.json` +- `research/flossing/step6_*.json` +- `research/flossing/step7_*.json` +- `research/flossing/flossing_suite/results/**/*.json` + +This keeps old negative/positive evidence visible without rerunning everything. diff --git a/flossing_suite/archive_failed_oom_b8/trm_seed123_baseline_nofloss_b8_10000.cmd.sh b/flossing_suite/archive_failed_oom_b8/trm_seed123_baseline_nofloss_b8_10000.cmd.sh new file mode 100755 index 0000000..98411d8 --- /dev/null +++ b/flossing_suite/archive_failed_oom_b8/trm_seed123_baseline_nofloss_b8_10000.cmd.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="0" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps "10000" \ + --batch-size 8 \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 4 \ + --lyap-act-steps 4 \ + --seed 42 \ + --eval-every 1000 \ + --eval-n "1000" \ + --eval-batch-size 64 \ + --floss-log-every 10 \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --kl-beta 0 \ + --floss-steps "0" \ + --interfloss-at "" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b8_10000.json" diff --git a/flossing_suite/archive_failed_oom_b8/trm_seed123_pre_inter_0_500_b8_k4_10000.cmd.sh b/flossing_suite/archive_failed_oom_b8/trm_seed123_pre_inter_0_500_b8_k4_10000.cmd.sh new file mode 100755 index 0000000..e3f25ab --- /dev/null +++ b/flossing_suite/archive_failed_oom_b8/trm_seed123_pre_inter_0_500_b8_k4_10000.cmd.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="3" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps "10000" \ + --batch-size 8 \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 4 \ + --lyap-act-steps 4 \ + --seed 42 \ + --eval-every 1000 \ + --eval-n "1000" \ + --eval-batch-size 64 \ + --floss-log-every 10 \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --kl-beta 0 \ + --floss-steps "500" \ + --interfloss-at "0,500" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_0_500_b8_k4_10000.json" diff --git a/flossing_suite/archive_failed_oom_b8/trm_seed123_prefloss_0_b8_k4_10000.cmd.sh b/flossing_suite/archive_failed_oom_b8/trm_seed123_prefloss_0_b8_k4_10000.cmd.sh new file mode 100755 index 0000000..86c445d --- /dev/null +++ b/flossing_suite/archive_failed_oom_b8/trm_seed123_prefloss_0_b8_k4_10000.cmd.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="1" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps "10000" \ + --batch-size 8 \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 4 \ + --lyap-act-steps 4 \ + --seed 42 \ + --eval-every 1000 \ + --eval-n "1000" \ + --eval-batch-size 64 \ + --floss-log-every 10 \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --kl-beta 0 \ + --floss-steps "500" \ + --interfloss-at "0" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b8_k4_10000.json" diff --git a/flossing_suite/launch_toy_official_suite.sh b/flossing_suite/launch_toy_official_suite.sh new file mode 100755 index 0000000..43a2047 --- /dev/null +++ b/flossing_suite/launch_toy_official_suite.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="/home/yurenh2/rrm" +PY="/home/yurenh2/miniconda3/envs/rrm/bin/python" +OUT_DIR="${ROOT}/research/flossing/flossing_suite/results/toy_rnn" +mkdir -p "${OUT_DIR}" + +GPU_BASE="${GPU_BASE:-0}" +GPU_PREFLOSS="${GPU_PREFLOSS:-1}" +GPU_INTER="${GPU_INTER:-3}" + +write_and_launch() { + local gpu="$1" + local name="$2" + local pre_epochs="$3" + local max_inter="$4" + local cmd="${OUT_DIR}/${name}.cmd.sh" + local log="${OUT_DIR}/${name}.log" + local pid="${OUT_DIR}/${name}.pid" + + cat > "${cmd}" <<EOF +#!/usr/bin/env bash +set -euo pipefail +cd "${ROOT}" +export CUDA_VISIBLE_DEVICES="${gpu}" +export PYTHONUNBUFFERED=1 +exec "${PY}" research/flossing/engelken_python_flossing.py \\ + --hidden-size 80 \\ + --n-lyap 40 \\ + --train-epochs 1000 \\ + --inter-period 100 \\ + --inter-epochs 100 \\ + --batch-size 16 \\ + --input-dim 1 \\ + --train-steps 300 \\ + --lyap-steps 55 \\ + --floss-input-steps 300 \\ + --seed-ic 1 \\ + --seed-input 1 \\ + --seed-net 1 \\ + --seed-ons 1 \\ + --lr 0.001 \\ + --beta1 0.9 \\ + --beta2 0.999 \\ + --init-type 1 \\ + --recurrent-gain 1.0 \\ + --recurrent-mean-gain 0.0 \\ + --input-scale 1.0 \\ + --delay 10 \\ + --ws-std 1.0 \\ + --ws-mean 0.0 \\ + --wr-std 1.0 \\ + --wr-mean 0.0 \\ + --b-std 0.1 \\ + --b-mean 0.0 \\ + --task -1 \\ + --lyap-target 0.0 \\ + --eval-every 100 \\ + --eval-batches 4 \\ + --log-every-floss 25 \\ + --device cuda \\ + --pre-epochs "${pre_epochs}" \\ + --max-inter-episodes "${max_inter}" \\ + --out "${OUT_DIR}/${name}.json" +EOF + chmod +x "${cmd}" + setsid bash "${cmd}" > "${log}" 2>&1 < /dev/null & + echo $! > "${pid}" + echo "${name}: pid $(cat "${pid}") on GPU ${gpu}" +} + +write_and_launch "${GPU_BASE}" "toy_baseline_no_floss_N80_k40_E1000" 0 0 +write_and_launch "${GPU_PREFLOSS}" "toy_prefloss_N80_k40_E1000" 100 0 +write_and_launch "${GPU_INTER}" "toy_pre_inter_N80_k40_E1000" 100 2 + +echo "queued toy RNN official-style suite in ${OUT_DIR}" diff --git a/flossing_suite/launch_trm_faithful_suite.sh b/flossing_suite/launch_trm_faithful_suite.sh new file mode 100755 index 0000000..2b3190c --- /dev/null +++ b/flossing_suite/launch_trm_faithful_suite.sh @@ -0,0 +1,88 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="/home/yurenh2/rrm" +PY="/home/yurenh2/miniconda3/envs/rrm/bin/python" +OUT_DIR="${ROOT}/research/flossing/flossing_suite/results/trm_faithful" +CKPT_ROOT="${ROOT}/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" +mkdir -p "${OUT_DIR}" + +GPU_BASE="${GPU_BASE:-0}" +GPU_PREFLOSS="${GPU_PREFLOSS:-1}" +GPU_INTER="${GPU_INTER:-3}" +TRAIN_STEPS="${TRAIN_STEPS:-20000}" +PREFLOSS_STEPS="${PREFLOSS_STEPS:-500}" +INTERFLOSS_STEPS="${INTERFLOSS_STEPS:-100}" +INTERFLOSS_EVERY="${INTERFLOSS_EVERY:-2000}" +INTERFLOSS_START="${INTERFLOSS_START:-2000}" +INTERFLOSS_STOP="${INTERFLOSS_STOP:-10000}" +EVAL_N="${EVAL_N:-1000}" +TASK_BATCH_SIZE="${TASK_BATCH_SIZE:-32}" +FLOSS_BATCH_SIZE="${FLOSS_BATCH_SIZE:-4}" + +write_and_launch() { + local gpu="$1" + local name="$2" + local schedule="$3" + local floss_steps="$4" + local every="$5" + local start="$6" + local stop="$7" + local cmd="${OUT_DIR}/${name}.cmd.sh" + local log="${OUT_DIR}/${name}.log" + local pid="${OUT_DIR}/${name}.pid" + + cat > "${cmd}" <<EOF +#!/usr/bin/env bash +set -euo pipefail +cd "${ROOT}" +export CUDA_VISIBLE_DEVICES="${gpu}" +export PYTHONUNBUFFERED=1 +exec "${PY}" research/flossing/step7_interfloss.py \\ + --model trm \\ + --ckpt-root "${CKPT_ROOT}" \\ + --ckpt-name __random__ \\ + --init-seed 123 \\ + --train-steps "${TRAIN_STEPS}" \\ + --batch-size "${TASK_BATCH_SIZE}" \\ + --task-batch-size "${TASK_BATCH_SIZE}" \\ + --floss-batch-size "${FLOSS_BATCH_SIZE}" \\ + --train-lr 1e-4 \\ + --floss-lr 1e-4 \\ + --floss-mode engelken_l2 \\ + --lambda-star 0 \\ + --k-lyap 4 \\ + --lyap-act-steps 4 \\ + --seed 42 \\ + --eval-every 1000 \\ + --eval-n "${EVAL_N}" \\ + --eval-batch-size 64 \\ + --floss-log-every 10 \\ + --train-puzzle-emb \\ + --puzzle-emb-lr 1e-4 \\ + --puzzle-emb-weight-decay 1.0 \\ + --kl-beta 0 \\ + --floss-steps "${floss_steps}" \\ + --interfloss-at "${schedule}" \\ + --interfloss-every "${every}" \\ + --interfloss-start "${start}" \\ + --interfloss-stop "${stop}" \\ + --out "${OUT_DIR}/${name}.json" +EOF + chmod +x "${cmd}" + setsid bash "${cmd}" > "${log}" 2>&1 < /dev/null & + echo $! > "${pid}" + echo "${name}: pid $(cat "${pid}") on GPU ${gpu}" +} + +write_and_launch "${GPU_BASE}" \ + "trm_seed123_baseline_nofloss_tb${TASK_BATCH_SIZE}_fb${FLOSS_BATCH_SIZE}_${TRAIN_STEPS}" \ + "" 0 0 0 -1 +write_and_launch "${GPU_PREFLOSS}" \ + "trm_seed123_prefloss_0_tb${TASK_BATCH_SIZE}_fb${FLOSS_BATCH_SIZE}_k4_${TRAIN_STEPS}" \ + "0" "${PREFLOSS_STEPS}" 0 0 -1 +write_and_launch "${GPU_INTER}" \ + "trm_seed123_pre_inter_periodic${INTERFLOSS_EVERY}_tb${TASK_BATCH_SIZE}_fb${FLOSS_BATCH_SIZE}_k4_${TRAIN_STEPS}" \ + "0" "${INTERFLOSS_STEPS}" "${INTERFLOSS_EVERY}" "${INTERFLOSS_START}" "${INTERFLOSS_STOP}" + +echo "queued TRM Engelken-faithful suite in ${OUT_DIR}" diff --git a/flossing_suite/launch_trm_variant_suite.sh b/flossing_suite/launch_trm_variant_suite.sh new file mode 100755 index 0000000..86c2e64 --- /dev/null +++ b/flossing_suite/launch_trm_variant_suite.sh @@ -0,0 +1,87 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="/home/yurenh2/rrm" +PY="/home/yurenh2/miniconda3/envs/rrm/bin/python" +OUT_DIR="${ROOT}/research/flossing/flossing_suite/results/trm_variants" +CKPT_ROOT="${ROOT}/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" +mkdir -p "${OUT_DIR}" + +GPU_TOP1="${GPU_TOP1:-0}" +GPU_VOLUME="${GPU_VOLUME:-1}" +GPU_KL="${GPU_KL:-3}" +TRAIN_STEPS="${TRAIN_STEPS:-20000}" +FLOSS_STEPS="${FLOSS_STEPS:-100}" +INTERFLOSS_EVERY="${INTERFLOSS_EVERY:-2000}" +INTERFLOSS_START="${INTERFLOSS_START:-2000}" +INTERFLOSS_STOP="${INTERFLOSS_STOP:-10000}" +EVAL_N="${EVAL_N:-1000}" +TASK_BATCH_SIZE="${TASK_BATCH_SIZE:-32}" +FLOSS_BATCH_SIZE="${FLOSS_BATCH_SIZE:-4}" + +write_and_launch() { + local gpu="$1" + local name="$2" + local floss_mode="$3" + local kl_beta="$4" + local cmd="${OUT_DIR}/${name}.cmd.sh" + local log="${OUT_DIR}/${name}.log" + local pid="${OUT_DIR}/${name}.pid" + + cat > "${cmd}" <<EOF +#!/usr/bin/env bash +set -euo pipefail +cd "${ROOT}" +export CUDA_VISIBLE_DEVICES="${gpu}" +export PYTHONUNBUFFERED=1 +exec "${PY}" research/flossing/step7_interfloss.py \\ + --model trm \\ + --ckpt-root "${CKPT_ROOT}" \\ + --ckpt-name __random__ \\ + --init-seed 123 \\ + --train-steps "${TRAIN_STEPS}" \\ + --batch-size "${TASK_BATCH_SIZE}" \\ + --task-batch-size "${TASK_BATCH_SIZE}" \\ + --floss-batch-size "${FLOSS_BATCH_SIZE}" \\ + --train-lr 1e-4 \\ + --floss-lr 1e-4 \\ + --floss-mode "${floss_mode}" \\ + --lambda-star 0 \\ + --k-lyap 4 \\ + --lyap-act-steps 4 \\ + --seed 42 \\ + --eval-every 1000 \\ + --eval-n "${EVAL_N}" \\ + --eval-batch-size 64 \\ + --floss-log-every 10 \\ + --train-puzzle-emb \\ + --puzzle-emb-lr 1e-4 \\ + --puzzle-emb-weight-decay 1.0 \\ + --floss-steps "${FLOSS_STEPS}" \\ + --interfloss-at "0" \\ + --interfloss-every "${INTERFLOSS_EVERY}" \\ + --interfloss-start "${INTERFLOSS_START}" \\ + --interfloss-stop "${INTERFLOSS_STOP}" \\ + --kl-beta "${kl_beta}" \\ + --kl-replay-size 64 \\ + --kl-batch-size 8 \\ + --kl-temperature 1.0 \\ + --out "${OUT_DIR}/${name}.json" +EOF + chmod +x "${cmd}" + setsid bash "${cmd}" > "${log}" 2>&1 < /dev/null & + echo $! > "${pid}" + echo "${name}: pid $(cat "${pid}") on GPU ${gpu}" +} + +write_and_launch "${GPU_TOP1}" \ + "trm_seed123_top1_cf_periodic${INTERFLOSS_EVERY}_tb${TASK_BATCH_SIZE}_fb${FLOSS_BATCH_SIZE}_k4_${TRAIN_STEPS}" \ + top1_cf 0 +write_and_launch "${GPU_VOLUME}" \ + "trm_seed123_volume_cf_periodic${INTERFLOSS_EVERY}_tb${TASK_BATCH_SIZE}_fb${FLOSS_BATCH_SIZE}_k4_${TRAIN_STEPS}" \ + volume_cf 0 +write_and_launch "${GPU_KL}" \ + "trm_seed123_volume_cf_kl10_periodic${INTERFLOSS_EVERY}_tb${TASK_BATCH_SIZE}_fb${FLOSS_BATCH_SIZE}_k4_${TRAIN_STEPS}" \ + volume_cf 10 + +echo "queued TRM CF/volume variant suite in ${OUT_DIR}" diff --git a/flossing_suite/results/summary/flossing_eval_curves.csv b/flossing_suite/results/summary/flossing_eval_curves.csv new file mode 100644 index 0000000..50aad05 --- /dev/null +++ b/flossing_suite/results/summary/flossing_eval_curves.csv @@ -0,0 +1,399 @@ +name,family,model,selector,x,acc,loss,kind
+engelken_paper_faithful/smoke,rrm_step7,trm,engelken_l2@0_steps1,0,0.0,,initial
+engelken_paper_faithful/smoke,rrm_step7,trm,engelken_l2@0_steps1,0,0.0,,after_floss
+engelken_paper_faithful/smoke,rrm_step7,trm,engelken_l2@0_steps1,1,0.0,,task
+engelken_paper_faithful/smoke,rrm_step7,trm,engelken_l2@0_steps1,1,0.0,,final
+engelken_python/debug_n80_k40_3epoch,toy_rnn,vanilla_rnn,baseline_no_floss,1,0.5124555160142349,2.1269004344940186,eval
+engelken_python/debug_n80_k40_3epoch,toy_rnn,vanilla_rnn,baseline_no_floss,2,0.5113434163701067,1.894472599029541,eval
+engelken_python/debug_n80_k40_3epoch,toy_rnn,vanilla_rnn,baseline_no_floss,3,0.4853202846975089,1.9043740034103394,eval
+engelken_python/gpu_smoke,toy_rnn,vanilla_rnn,prefloss,1,0.5151515151515151,0.8679313659667969,eval
+engelken_python/gpu_smoke,toy_rnn,vanilla_rnn,prefloss,2,0.49242424242424243,0.9058582782745361,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,1,0.5063389679715302,2.151065170764923,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,100,0.49888790035587194,0.6981811821460724,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,200,0.5025578291814947,0.7067497670650482,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,300,0.4968861209964413,0.7166876345872879,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,400,0.5023354092526691,0.702445313334465,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,500,0.49844306049822057,0.6947141587734222,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,600,0.49649688612099646,0.6974123269319534,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,700,0.49827624555160144,0.7033253163099289,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,800,0.5050600533807829,0.6959485709667206,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,900,0.5216303380782918,0.6901399791240692,eval
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,baseline_no_floss,1000,0.7770796263345195,0.47778721898794174,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,1,0.5019461743772242,1.6856758892536163,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,100,0.9623554270462634,0.11776464246213436,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,200,0.9935498220640568,0.027145093772560358,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,300,0.9963300711743772,0.014187443535774946,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,400,0.9975533807829181,0.009522247593849897,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,500,0.9973865658362989,0.009814425837248564,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,600,0.9983874555160143,0.006339075975120068,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,700,0.9981094306049823,0.008150239707902074,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,800,0.9981650355871887,0.006329314899630845,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,900,0.9981650355871886,0.0068275314988568425,eval
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,toy_rnn,vanilla_rnn,prefloss,1000,0.9972753558718862,0.01047352165915072,eval
+engelken_python/smoke,toy_rnn,vanilla_rnn,prefloss,1,0.49242424242424243,0.9093148708343506,eval
+engelken_python/smoke,toy_rnn,vanilla_rnn,prefloss,2,0.5151515151515151,0.9205472469329834,eval
+engelken_python/smoke,toy_rnn,vanilla_rnn,prefloss,3,0.5303030303030303,0.8646541237831116,eval
+flossing_suite/results/smoke/toy_smoke,toy_rnn,vanilla_rnn,prefloss,1,0.5476190476190477,0.8243135213851929,eval
+flossing_suite/results/smoke/toy_smoke,toy_rnn,vanilla_rnn,prefloss,2,0.5238095238095238,0.9111667275428772,eval
+flossing_suite/results/smoke/toy_smoke,toy_rnn,vanilla_rnn,prefloss,3,0.6190476190476191,0.7443239688873291,eval
+flossing_suite/results/smoke/trm_step7_decoupled_periodic_smoke,rrm_step7,trm,engelken_l2@0_steps1_every1,0,0.0,,initial
+flossing_suite/results/smoke/trm_step7_decoupled_periodic_smoke,rrm_step7,trm,engelken_l2@0_steps1_every1,1,0.0,,task
+flossing_suite/results/smoke/trm_step7_decoupled_periodic_smoke,rrm_step7,trm,engelken_l2@0_steps1_every1,2,0.0,,task
+flossing_suite/results/smoke/trm_step7_decoupled_periodic_smoke,rrm_step7,trm,engelken_l2@0_steps1_every1,2,0.0,,final
+flossing_suite/results/smoke/trm_step7_smoke,rrm_step7,trm,engelken_l2@0_steps1,0,0.0,,initial
+flossing_suite/results/smoke/trm_step7_smoke,rrm_step7,trm,engelken_l2@0_steps1,1,0.0,,task
+flossing_suite/results/smoke/trm_step7_smoke,rrm_step7,trm,engelken_l2@0_steps1,1,0.0,,final
+flossing_suite/results/smoke/trm_task_batch32_smoke,rrm_step7,trm,baseline_no_floss,0,0.0,,initial
+flossing_suite/results/smoke/trm_task_batch32_smoke,rrm_step7,trm,baseline_no_floss,1,0.0,,task
+flossing_suite/results/smoke/trm_task_batch32_smoke,rrm_step7,trm,baseline_no_floss,1,0.0,,final
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,1,0.5063389679715302,2.151065170764923,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,100,0.49888790035587194,0.6981811821460724,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,200,0.5025578291814947,0.7067497670650482,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,300,0.4968861209964413,0.7166876345872879,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,400,0.5023354092526691,0.702445313334465,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,500,0.49844306049822057,0.6947141587734222,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,600,0.49649688612099646,0.6974123269319534,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,700,0.49827624555160144,0.7033253163099289,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,800,0.5050600533807829,0.6959485709667206,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,900,0.5216303380782918,0.6901399791240692,eval
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,toy_rnn,vanilla_rnn,baseline_no_floss,1000,0.7770796263345195,0.47778721898794174,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,1,0.5019461743772242,1.6856758892536163,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,100,0.564279359430605,1.2137768864631653,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,200,0.5421485765124555,1.4198356568813324,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,300,0.9971085409252668,0.013412912143394351,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,400,0.9976089857651246,0.009532386669889092,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,500,0.9974977758007118,0.00779245572630316,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,600,0.9976645907473309,0.007897141389548779,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,700,0.9977201957295374,0.00889350671786815,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,800,0.9978314056939501,0.006675782264210284,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,900,0.9979982206405694,0.00699911720585078,eval
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,toy_rnn,vanilla_rnn,pre_interfloss,1000,0.9978314056939501,0.008064003428444266,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,1,0.5019461743772242,1.6856758892536163,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,100,0.9623554270462634,0.11776464246213436,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,200,0.9935498220640568,0.027145093772560358,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,300,0.9963300711743772,0.014187443535774946,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,400,0.9975533807829181,0.009522247593849897,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,500,0.9973865658362989,0.009814425837248564,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,600,0.9983874555160143,0.006339075975120068,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,700,0.9981094306049823,0.008150239707902074,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,800,0.9981650355871887,0.006329314899630845,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,900,0.9981650355871886,0.0068275314988568425,eval
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,toy_rnn,vanilla_rnn,prefloss,1000,0.9972753558718862,0.01047352165915072,eval
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000,rrm_step7,trm,baseline_no_floss,0,0.0,,initial
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000,rrm_step7,trm,baseline_no_floss,1000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000,rrm_step7,trm,baseline_no_floss,2000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000,rrm_step7,trm,baseline_no_floss,3000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000,rrm_step7,trm,baseline_no_floss,4000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000,rrm_step7,trm,baseline_no_floss,5000,0.001,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000,rrm_step7,trm,baseline_no_floss,6000,0.002,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,0,0.0,,initial
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,1000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,2000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,3000,0.022,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,4000,0.027,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,5000,0.028,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,6000,0.029,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,7000,0.066,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,8000,0.077,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,9000,0.179,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,10000,0.136,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,11000,0.164,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,12000,0.184,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,13000,0.176,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,14000,0.153,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,15000,0.194,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,16000,0.185,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,17000,0.127,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,18000,0.201,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,19000,0.144,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,20000,0.204,,task
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,rrm_step7,trm,baseline_no_floss,20000,0.204,,final
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_0_500_b4_k4_10000,rrm_step7,trm,"engelken_l2@0,500_steps500",0,0.0,,initial
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_0_500_b4_k4_10000,rrm_step7,trm,"engelken_l2@0,500_steps500",0,0.0,,after_floss
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,0,0.0,,initial
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,0,0.0,,after_floss
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,1000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,2000,0.001,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,2000,0.0,,after_floss
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,3000,0.022,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,4000,0.027,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,4000,0.0,,after_floss
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,5000,0.027,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,6000,0.061,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,6000,0.0,,after_floss
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,7000,0.11,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,8000,0.066,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,8000,0.0,,after_floss
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,9000,0.097,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,10000,0.169,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,10000,0.0,,after_floss
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,11000,0.192,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,12000,0.128,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,13000,0.181,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,14000,0.179,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,15000,0.195,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,16000,0.179,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,17000,0.191,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,18000,0.167,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,19000,0.192,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,20000,0.207,,task
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps100_every2000,20000,0.207,,final
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000,rrm_step7,trm,engelken_l2@0_steps500,0,0.0,,initial
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000,rrm_step7,trm,engelken_l2@0_steps500,0,0.0,,after_floss
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000,rrm_step7,trm,engelken_l2@0_steps500,1000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000,rrm_step7,trm,engelken_l2@0_steps500,2000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000,rrm_step7,trm,engelken_l2@0_steps500,3000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,0,0.0,,initial
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,0,0.0,,after_floss
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,1000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,2000,0.0,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,3000,0.023,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,4000,0.026,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,5000,0.029,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,6000,0.067,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,7000,0.11,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,8000,0.125,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,9000,0.157,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,10000,0.153,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,11000,0.15,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,12000,0.184,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,13000,0.208,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,14000,0.126,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,15000,0.21,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,16000,0.166,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,17000,0.105,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,18000,0.184,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,19000,0.172,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,20000,0.21,,task
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,rrm_step7,trm,engelken_l2@0_steps500,20000,0.21,,final
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,100,0.3125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,200,0.3359375,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,300,0.3203125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,400,0.33203125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,500,0.318359375,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,600,0.359375,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,700,0.33984375,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,800,0.361328125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,900,0.373046875,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1000,0.359375,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1100,0.349609375,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1200,0.36328125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1300,0.36328125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1400,0.37890625,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1500,0.404296875,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1600,0.388671875,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1700,0.380859375,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1800,0.384765625,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,1900,0.380859375,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2000,0.400390625,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2100,0.4140625,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2200,0.376953125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2300,0.400390625,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2400,0.392578125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2500,0.3828125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2600,0.3984375,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2700,0.384765625,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2800,0.423828125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,2900,0.419921875,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,3000,0.392578125,,phase2
+step6_A_baseline_no_prefloss,hrm_step6,hrm,baseline_no_prefloss,3000,0.392578125,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,100,0.0,,phase1
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,200,0.0,,phase1
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,300,0.0,,phase1
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,400,0.0,,phase1
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,500,0.0,,phase1
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,500,0.0,,phase1
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,600,0.0,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,700,0.0,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,800,0.0,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,900,0.0,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1000,0.0,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1100,0.015625,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1200,0.076171875,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1300,0.125,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1400,0.1640625,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1500,0.16796875,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1600,0.2109375,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1700,0.2109375,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1800,0.212890625,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,1900,0.2265625,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2000,0.259765625,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2100,0.255859375,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2200,0.296875,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2300,0.2734375,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2400,0.2734375,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2500,0.2890625,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2600,0.318359375,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2700,0.326171875,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2800,0.291015625,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,2900,0.330078125,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,3000,0.32421875,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,3100,0.359375,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,3200,0.326171875,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,3300,0.357421875,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,3400,0.34375,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,3500,0.310546875,,phase2
+step6_B_engelken,hrm_step6,hrm,prefloss_engelken,3500,0.310546875,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,100,0.0,,phase1
+step6_C_cf,hrm_step6,hrm,prefloss_cf,200,0.0,,phase1
+step6_C_cf,hrm_step6,hrm,prefloss_cf,300,0.0,,phase1
+step6_C_cf,hrm_step6,hrm,prefloss_cf,400,0.0,,phase1
+step6_C_cf,hrm_step6,hrm,prefloss_cf,500,0.0,,phase1
+step6_C_cf,hrm_step6,hrm,prefloss_cf,500,0.0,,phase1
+step6_C_cf,hrm_step6,hrm,prefloss_cf,600,0.0,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,700,0.0,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,800,0.0,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,900,0.064453125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1000,0.119140625,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1100,0.181640625,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1200,0.23828125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1300,0.259765625,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1400,0.291015625,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1500,0.302734375,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1600,0.298828125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1700,0.3046875,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1800,0.30078125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,1900,0.3125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2000,0.33203125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2100,0.31640625,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2200,0.3359375,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2300,0.341796875,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2400,0.33203125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2500,0.353515625,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2600,0.35546875,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2700,0.361328125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2800,0.35546875,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,2900,0.3828125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,3000,0.3828125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,3100,0.361328125,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,3200,0.390625,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,3300,0.3984375,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,3400,0.359375,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,3500,0.380859375,,phase2
+step6_C_cf,hrm_step6,hrm,prefloss_cf,3500,0.380859375,,phase2
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",0,0.517578125,,initial
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",0,0.0,,after_floss
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",500,0.0,,after_floss
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",1000,0.1796875,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",2000,0.583984375,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",3000,0.580078125,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",4000,0.58984375,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",5000,0.611328125,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",6000,0.634765625,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",7000,0.63671875,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",8000,0.662109375,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",9000,0.642578125,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",10000,0.646484375,,task
+step7_A_hrm_engelken_interfloss_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500",10000,0.646484375,,final
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",0,0.59765625,,initial
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",0,0.0,,after_floss
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",500,0.0,,after_floss
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",1000,0.021484375,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",2000,0.041015625,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",3000,0.255859375,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",4000,0.275390625,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",5000,0.453125,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",6000,0.466796875,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",7000,0.494140625,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",8000,0.501953125,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",9000,0.521484375,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",10000,0.51953125,,task
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500",10000,0.51953125,,final
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",0,0.517578125,,initial
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",0,0.017578125,,after_floss
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",500,0.021484375,,after_floss
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",1000,0.177734375,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",2000,0.482421875,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",3000,0.54296875,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",4000,0.5859375,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",5000,0.599609375,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",6000,0.595703125,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",7000,0.62109375,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",8000,0.61328125,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",9000,0.625,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",10000,0.62109375,,task
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",10000,0.62109375,,final
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",0,0.59765625,,initial
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",0,0.025390625,,after_floss
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",500,0.013671875,,after_floss
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",1000,0.041015625,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",2000,0.322265625,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",3000,0.439453125,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",4000,0.515625,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",5000,0.498046875,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",6000,0.57421875,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",7000,0.556640625,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",8000,0.55859375,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",9000,0.5546875,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",10000,0.595703125,,task
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",10000,0.595703125,,final
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",0,0.517578125,,initial
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",0,0.017578125,,after_floss
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",500,0.017578125,,after_floss
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",1000,0.193359375,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",2000,0.4453125,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",3000,0.564453125,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",4000,0.564453125,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",5000,0.583984375,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",6000,0.61328125,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",7000,0.63671875,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",8000,0.61328125,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",9000,0.615234375,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",10000,0.619140625,,task
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",10000,0.619140625,,final
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",0,0.59765625,,initial
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",0,0.046875,,after_floss
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",500,0.015625,,after_floss
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",1000,0.060546875,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",2000,0.18359375,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",3000,0.408203125,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",4000,0.466796875,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",5000,0.47265625,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",6000,0.5546875,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",7000,0.541015625,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",8000,0.58203125,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",9000,0.55859375,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",10000,0.544921875,,task
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",10000,0.544921875,,final
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",0,0.517578125,,initial
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",0,0.025390625,,after_floss
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",500,0.015625,,after_floss
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",1000,0.208984375,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",2000,0.478515625,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",3000,0.521484375,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",4000,0.556640625,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",5000,0.58203125,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",6000,0.6171875,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",7000,0.607421875,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",8000,0.62109375,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",9000,0.58984375,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",10000,0.607421875,,task
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",10000,0.607421875,,final
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",0,0.59765625,,initial
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",0,0.078125,,after_floss
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",500,0.01953125,,after_floss
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",1000,0.099609375,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",2000,0.322265625,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",3000,0.41015625,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",4000,0.44921875,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",5000,0.498046875,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",6000,0.537109375,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",7000,0.5625,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",8000,0.548828125,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",9000,0.556640625,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",10000,0.55078125,,task
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",10000,0.55078125,,final
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",0,0.517578125,,initial
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",0,0.0,,after_floss
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",500,0.017578125,,after_floss
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",1000,0.642578125,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",2000,0.63671875,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",3000,0.65625,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",4000,0.66015625,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",5000,0.64453125,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",6000,0.638671875,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",7000,0.677734375,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",8000,0.65234375,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",9000,0.658203125,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",10000,0.63671875,,task
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",10000,0.63671875,,final
diff --git a/flossing_suite/results/summary/flossing_runs_summary.csv b/flossing_suite/results/summary/flossing_runs_summary.csv new file mode 100644 index 0000000..3adb736 --- /dev/null +++ b/flossing_suite/results/summary/flossing_runs_summary.csv @@ -0,0 +1,32 @@ +name,path,family,model,selector,floss_mode,schedule,train_steps,floss_steps,k_lyap,kl_beta,initial_acc,final_acc,best_acc,delta_final,n_evals,n_floss_episodes,status,task_batch_size,floss_batch_size,effective_official_gbs768_steps
+step6_A_baseline_no_prefloss,/home/yurenh2/rrm/research/flossing/step6_A_baseline_no_prefloss.json,hrm_step6,hrm,baseline_no_prefloss,volume_cf,pre=0,3000,0,8,0,0.3046875,0.392578125,0.423828125,0.087890625,31,0,complete,,,
+step6_B_engelken,/home/yurenh2/rrm/research/flossing/step6_B_engelken.json,hrm_step6,hrm,prefloss_engelken,engelken,pre=500,3000,500,2,0,0.3046875,0.310546875,0.359375,0.005859375,37,1,complete,,,
+step6_C_cf,/home/yurenh2/rrm/research/flossing/step6_C_cf.json,hrm_step6,hrm,prefloss_cf,cf,pre=500,3000,500,2,0,0.3046875,0.380859375,0.3984375,0.076171875,37,1,complete,,,
+step7_A_hrm_engelken_interfloss_26040_k8_10k,/home/yurenh2/rrm/research/flossing/step7_A_hrm_engelken_interfloss_26040_k8_10k.json,rrm_step7,hrm,"engelken_l2@0,500_steps500",engelken_l2,"0,500",10000,500,8,0,0.517578125,0.646484375,0.662109375,0.12890625,14,2,complete,8,8,104.16666666666667
+step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k,/home/yurenh2/rrm/research/flossing/step7_C_hrm_engelken_interfloss_kl10_26040_k8_10k.json,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",engelken_l2,"0,500",10000,500,8,10.0,0.517578125,0.62109375,0.625,0.103515625,14,2,complete,8,8,104.16666666666667
+step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k,/home/yurenh2/rrm/research/flossing/step7_E_hrm_late_engelken_interfloss_kl10_start12_26040_k8_10k.json,rrm_step7,hrm,"engelken_l2@0,500_steps500_kl10",engelken_l2,"0,500",10000,500,8,10.0,0.517578125,0.619140625,0.63671875,0.1015625,14,2,complete,8,8,104.16666666666667
+step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k,/home/yurenh2/rrm/research/flossing/step7_G_hrm_volume_envelope_interfloss_kl10_lstar_neg015_26040_k8_10k.json,rrm_step7,hrm,"volume_cf@0,500_steps500_kl10",volume_cf,"0,500",10000,500,8,10.0,0.517578125,0.607421875,0.62109375,0.08984375,14,2,complete,8,8,104.16666666666667
+step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k,/home/yurenh2/rrm/research/flossing/step7_I_hrm_engelken_interfloss_kl100_short_26040_k8_10k.json,rrm_step7,hrm,"engelken_l2@0,500_steps100_kl100",engelken_l2,"0,500",10000,100,8,100.0,0.517578125,0.63671875,0.677734375,0.119140625,14,2,complete,8,8,104.16666666666667
+engelken_paper_faithful/smoke,/home/yurenh2/rrm/research/flossing/engelken_paper_faithful/smoke.json,rrm_step7,trm,engelken_l2@0_steps1,engelken_l2,0,1,1,1,0.0,0.0,0.0,0.0,0.0,4,1,complete,2,2,0.0026041666666666665
+flossing_suite/results/smoke/trm_step7_decoupled_periodic_smoke,/home/yurenh2/rrm/research/flossing/flossing_suite/results/smoke/trm_step7_decoupled_periodic_smoke.json,rrm_step7,trm,engelken_l2@0_steps1_every1,engelken_l2,"0; every=1, start=1, stop=1",2,1,1,0.0,0.0,0.0,0.0,0.0,4,2,complete,8,2,0.020833333333333332
+flossing_suite/results/smoke/trm_step7_smoke,/home/yurenh2/rrm/research/flossing/flossing_suite/results/smoke/trm_step7_smoke.json,rrm_step7,trm,engelken_l2@0_steps1,engelken_l2,0,1,1,1,0.0,0.0,0.0,0.0,0.0,3,1,complete,2,2,0.0026041666666666665
+flossing_suite/results/smoke/trm_task_batch32_smoke,/home/yurenh2/rrm/research/flossing/flossing_suite/results/smoke/trm_task_batch32_smoke.json,rrm_step7,trm,baseline_no_floss,engelken_l2,,1,0,4,0.0,0.0,0.0,0.0,0.0,3,0,complete,32,4,0.041666666666666664
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000,/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000.json,rrm_step7,trm,baseline_no_floss,engelken_l2,,10000,0,4,0.0,0.0,0.002,0.002,0.002,7,0,running_or_incomplete,4,4,52.083333333333336
+flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000,/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000.json,rrm_step7,trm,baseline_no_floss,engelken_l2,,20000,0,4,0.0,0.0,0.204,0.204,0.204,22,0,complete,32,4,833.3333333333334
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_0_500_b4_k4_10000,/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_0_500_b4_k4_10000.json,rrm_step7,trm,"engelken_l2@0,500_steps500",engelken_l2,"0,500",10000,500,4,0.0,0.0,0.0,0.0,0.0,2,1,running_or_incomplete,4,4,52.083333333333336
+flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000,/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000.json,rrm_step7,trm,engelken_l2@0_steps100_every2000,engelken_l2,"0; every=2000, start=2000, stop=10000",20000,100,4,0.0,0.0,0.207,0.207,0.207,28,6,complete,32,4,833.3333333333334
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000,/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000.json,rrm_step7,trm,engelken_l2@0_steps500,engelken_l2,0,10000,500,4,0.0,0.0,0.0,0.0,0.0,5,1,running_or_incomplete,4,4,52.083333333333336
+flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000,/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000.json,rrm_step7,trm,engelken_l2@0_steps500,engelken_l2,0,20000,500,4,0.0,0.0,0.21,0.21,0.21,23,1,complete,32,4,833.3333333333334
+step7_B_trm_engelken_interfloss_26041_k4_batch4_10k,/home/yurenh2/rrm/research/flossing/step7_B_trm_engelken_interfloss_26041_k4_batch4_10k.json,rrm_step7,trm,"engelken_l2@0,500_steps500",engelken_l2,"0,500",10000,500,4,0,0.59765625,0.51953125,0.59765625,-0.078125,14,2,complete,4,4,52.083333333333336
+step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k,/home/yurenh2/rrm/research/flossing/step7_D_trm_engelken_interfloss_kl10_26041_k4_batch4_10k.json,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",engelken_l2,"0,500",10000,500,4,10.0,0.59765625,0.595703125,0.59765625,-0.001953125,14,2,complete,4,4,52.083333333333336
+step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k,/home/yurenh2/rrm/research/flossing/step7_F_trm_late_engelken_interfloss_kl10_start12_26041_k4_batch4_10k.json,rrm_step7,trm,"engelken_l2@0,500_steps500_kl10",engelken_l2,"0,500",10000,500,4,10.0,0.59765625,0.544921875,0.59765625,-0.052734375,14,2,complete,4,4,52.083333333333336
+step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k,/home/yurenh2/rrm/research/flossing/step7_H_trm_volume_envelope_interfloss_kl10_lstar002_26041_k4_batch4_10k.json,rrm_step7,trm,"volume_cf@0,500_steps500_kl10",volume_cf,"0,500",10000,500,4,10.0,0.59765625,0.55078125,0.59765625,-0.046875,14,2,complete,4,4,52.083333333333336
+engelken_python/debug_n80_k40_3epoch,/home/yurenh2/rrm/research/flossing/engelken_python/debug_n80_k40_3epoch.json,toy_rnn,vanilla_rnn,baseline_no_floss,engelken_l2,"pre=0,inter_period=100,max_inter=0",3,0,40,0,0.5124555160142349,0.4853202846975089,0.5124555160142349,-0.027135231316726016,3,0,complete,,,
+engelken_python/gpu_smoke,/home/yurenh2/rrm/research/flossing/engelken_python/gpu_smoke.json,toy_rnn,vanilla_rnn,prefloss,engelken_l2,"pre=1,inter_period=100,max_inter=0",2,1,4,0,0.5151515151515151,0.49242424242424243,0.5151515151515151,-0.022727272727272707,2,1,complete,,,
+engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid,/home/yurenh2/rrm/research/flossing/engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid.json,toy_rnn,vanilla_rnn,baseline_no_floss,engelken_l2,"pre=0,inter_period=100,max_inter=0",1000,0,40,0,0.5063389679715302,0.7770796263345195,0.7770796263345195,0.27074065836298933,11,0,complete,,,
+engelken_python/official_py_prefloss_N80_k40_E1000_setsid,/home/yurenh2/rrm/research/flossing/engelken_python/official_py_prefloss_N80_k40_E1000_setsid.json,toy_rnn,vanilla_rnn,prefloss,engelken_l2,"pre=100,inter_period=100,max_inter=0",1000,100,40,0,0.5019461743772242,0.9972753558718862,0.9983874555160143,0.495329181494662,11,1,complete,,,
+engelken_python/smoke,/home/yurenh2/rrm/research/flossing/engelken_python/smoke.json,toy_rnn,vanilla_rnn,prefloss,engelken_l2,"pre=2,inter_period=100,max_inter=0",3,2,4,0,0.49242424242424243,0.5303030303030303,0.5303030303030303,0.037878787878787845,3,1,complete,,,
+flossing_suite/results/smoke/toy_smoke,/home/yurenh2/rrm/research/flossing/flossing_suite/results/smoke/toy_smoke.json,toy_rnn,vanilla_rnn,prefloss,engelken_l2,"pre=2,inter_period=100,max_inter=0",3,2,4,0,0.5476190476190477,0.6190476190476191,0.6190476190476191,0.0714285714285714,3,1,complete,,,
+flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000,/home/yurenh2/rrm/research/flossing/flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000.json,toy_rnn,vanilla_rnn,baseline_no_floss,engelken_l2,"pre=0,inter_period=100,max_inter=0",1000,0,40,0,0.5063389679715302,0.7770796263345195,0.7770796263345195,0.27074065836298933,11,0,complete,,,
+flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000,/home/yurenh2/rrm/research/flossing/flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000.json,toy_rnn,vanilla_rnn,pre_interfloss,engelken_l2,"pre=100,inter_period=100,max_inter=2",1000,300,40,0,0.5019461743772242,0.9978314056939501,0.9979982206405694,0.4958852313167259,11,3,complete,,,
+flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000,/home/yurenh2/rrm/research/flossing/flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000.json,toy_rnn,vanilla_rnn,prefloss,engelken_l2,"pre=100,inter_period=100,max_inter=0",1000,100,40,0,0.5019461743772242,0.9972753558718862,0.9983874555160143,0.495329181494662,11,1,complete,,,
diff --git a/flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000.cmd.sh b/flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000.cmd.sh new file mode 100755 index 0000000..d7d9526 --- /dev/null +++ b/flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000.cmd.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="0" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/engelken_python_flossing.py \ + --hidden-size 80 \ + --n-lyap 40 \ + --train-epochs 1000 \ + --inter-period 100 \ + --inter-epochs 100 \ + --batch-size 16 \ + --input-dim 1 \ + --train-steps 300 \ + --lyap-steps 55 \ + --floss-input-steps 300 \ + --seed-ic 1 \ + --seed-input 1 \ + --seed-net 1 \ + --seed-ons 1 \ + --lr 0.001 \ + --beta1 0.9 \ + --beta2 0.999 \ + --init-type 1 \ + --recurrent-gain 1.0 \ + --recurrent-mean-gain 0.0 \ + --input-scale 1.0 \ + --delay 10 \ + --ws-std 1.0 \ + --ws-mean 0.0 \ + --wr-std 1.0 \ + --wr-mean 0.0 \ + --b-std 0.1 \ + --b-mean 0.0 \ + --task -1 \ + --lyap-target 0.0 \ + --eval-every 100 \ + --eval-batches 4 \ + --log-every-floss 25 \ + --device cuda \ + --pre-epochs "0" \ + --max-inter-episodes "0" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/toy_rnn/toy_baseline_no_floss_N80_k40_E1000.json" diff --git a/flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000.cmd.sh b/flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000.cmd.sh new file mode 100755 index 0000000..13383f9 --- /dev/null +++ b/flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000.cmd.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="3" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/engelken_python_flossing.py \ + --hidden-size 80 \ + --n-lyap 40 \ + --train-epochs 1000 \ + --inter-period 100 \ + --inter-epochs 100 \ + --batch-size 16 \ + --input-dim 1 \ + --train-steps 300 \ + --lyap-steps 55 \ + --floss-input-steps 300 \ + --seed-ic 1 \ + --seed-input 1 \ + --seed-net 1 \ + --seed-ons 1 \ + --lr 0.001 \ + --beta1 0.9 \ + --beta2 0.999 \ + --init-type 1 \ + --recurrent-gain 1.0 \ + --recurrent-mean-gain 0.0 \ + --input-scale 1.0 \ + --delay 10 \ + --ws-std 1.0 \ + --ws-mean 0.0 \ + --wr-std 1.0 \ + --wr-mean 0.0 \ + --b-std 0.1 \ + --b-mean 0.0 \ + --task -1 \ + --lyap-target 0.0 \ + --eval-every 100 \ + --eval-batches 4 \ + --log-every-floss 25 \ + --device cuda \ + --pre-epochs "100" \ + --max-inter-episodes "2" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/toy_rnn/toy_pre_inter_N80_k40_E1000.json" diff --git a/flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000.cmd.sh b/flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000.cmd.sh new file mode 100755 index 0000000..db82a74 --- /dev/null +++ b/flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000.cmd.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="1" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/engelken_python_flossing.py \ + --hidden-size 80 \ + --n-lyap 40 \ + --train-epochs 1000 \ + --inter-period 100 \ + --inter-epochs 100 \ + --batch-size 16 \ + --input-dim 1 \ + --train-steps 300 \ + --lyap-steps 55 \ + --floss-input-steps 300 \ + --seed-ic 1 \ + --seed-input 1 \ + --seed-net 1 \ + --seed-ons 1 \ + --lr 0.001 \ + --beta1 0.9 \ + --beta2 0.999 \ + --init-type 1 \ + --recurrent-gain 1.0 \ + --recurrent-mean-gain 0.0 \ + --input-scale 1.0 \ + --delay 10 \ + --ws-std 1.0 \ + --ws-mean 0.0 \ + --wr-std 1.0 \ + --wr-mean 0.0 \ + --b-std 0.1 \ + --b-mean 0.0 \ + --task -1 \ + --lyap-target 0.0 \ + --eval-every 100 \ + --eval-batches 4 \ + --log-every-floss 25 \ + --device cuda \ + --pre-epochs "100" \ + --max-inter-episodes "0" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/toy_rnn/toy_prefloss_N80_k40_E1000.json" diff --git a/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000.cmd.sh b/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000.cmd.sh new file mode 100755 index 0000000..db9568c --- /dev/null +++ b/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000.cmd.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="0" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps "10000" \ + --batch-size "4" \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 4 \ + --lyap-act-steps 4 \ + --seed 42 \ + --eval-every 1000 \ + --eval-n "1000" \ + --eval-batch-size 64 \ + --floss-log-every 10 \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --kl-beta 0 \ + --floss-steps "0" \ + --interfloss-at "" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_b4_10000.json" diff --git a/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000.cmd.sh b/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000.cmd.sh new file mode 100755 index 0000000..52a9fb4 --- /dev/null +++ b/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000.cmd.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="0" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps "20000" \ + --batch-size "32" \ + --task-batch-size "32" \ + --floss-batch-size "4" \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 4 \ + --lyap-act-steps 4 \ + --seed 42 \ + --eval-every 1000 \ + --eval-n "1000" \ + --eval-batch-size 64 \ + --floss-log-every 10 \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --kl-beta 0 \ + --floss-steps "0" \ + --interfloss-at "" \ + --interfloss-every "0" \ + --interfloss-start "0" \ + --interfloss-stop "-1" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_baseline_nofloss_tb32_fb4_20000.json" diff --git a/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_0_500_b4_k4_10000.cmd.sh b/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_0_500_b4_k4_10000.cmd.sh new file mode 100755 index 0000000..5c3ba64 --- /dev/null +++ b/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_0_500_b4_k4_10000.cmd.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="3" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps "10000" \ + --batch-size "4" \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 4 \ + --lyap-act-steps 4 \ + --seed 42 \ + --eval-every 1000 \ + --eval-n "1000" \ + --eval-batch-size 64 \ + --floss-log-every 10 \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --kl-beta 0 \ + --floss-steps "500" \ + --interfloss-at "0,500" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_0_500_b4_k4_10000.json" diff --git a/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000.cmd.sh b/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000.cmd.sh new file mode 100755 index 0000000..482c147 --- /dev/null +++ b/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000.cmd.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="3" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps "20000" \ + --batch-size "32" \ + --task-batch-size "32" \ + --floss-batch-size "4" \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 4 \ + --lyap-act-steps 4 \ + --seed 42 \ + --eval-every 1000 \ + --eval-n "1000" \ + --eval-batch-size 64 \ + --floss-log-every 10 \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --kl-beta 0 \ + --floss-steps "100" \ + --interfloss-at "0" \ + --interfloss-every "2000" \ + --interfloss-start "2000" \ + --interfloss-stop "10000" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_pre_inter_periodic2000_tb32_fb4_k4_20000.json" diff --git a/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000.cmd.sh b/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000.cmd.sh new file mode 100755 index 0000000..7f364d6 --- /dev/null +++ b/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000.cmd.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="1" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps "10000" \ + --batch-size "4" \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 4 \ + --lyap-act-steps 4 \ + --seed 42 \ + --eval-every 1000 \ + --eval-n "1000" \ + --eval-batch-size 64 \ + --floss-log-every 10 \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --kl-beta 0 \ + --floss-steps "500" \ + --interfloss-at "0" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_b4_k4_10000.json" diff --git a/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000.cmd.sh b/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000.cmd.sh new file mode 100755 index 0000000..0e903bd --- /dev/null +++ b/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000.cmd.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "/home/yurenh2/rrm" +export CUDA_VISIBLE_DEVICES="1" +export PYTHONUNBUFFERED=1 +exec "/home/yurenh2/miniconda3/envs/rrm/bin/python" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "/home/yurenh2/rrm/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps "20000" \ + --batch-size "32" \ + --task-batch-size "32" \ + --floss-batch-size "4" \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 4 \ + --lyap-act-steps 4 \ + --seed 42 \ + --eval-every 1000 \ + --eval-n "1000" \ + --eval-batch-size 64 \ + --floss-log-every 10 \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --kl-beta 0 \ + --floss-steps "500" \ + --interfloss-at "0" \ + --interfloss-every "0" \ + --interfloss-start "0" \ + --interfloss-stop "-1" \ + --out "/home/yurenh2/rrm/research/flossing/flossing_suite/results/trm_faithful/trm_seed123_prefloss_0_tb32_fb4_k4_20000.json" diff --git a/flossing_suite/smoke_test.sh b/flossing_suite/smoke_test.sh new file mode 100755 index 0000000..8b766b5 --- /dev/null +++ b/flossing_suite/smoke_test.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash +set -euo pipefail + +GPU="${1:-0}" +ROOT="/home/yurenh2/rrm" +PY="/home/yurenh2/miniconda3/envs/rrm/bin/python" +OUT_DIR="${ROOT}/research/flossing/flossing_suite/results/smoke" +mkdir -p "${OUT_DIR}" +cd "${ROOT}" + +echo "[smoke] toy RNN faithful port" +CUDA_VISIBLE_DEVICES="${GPU}" PYTHONUNBUFFERED=1 "${PY}" research/flossing/engelken_python_flossing.py \ + --hidden-size 16 \ + --n-lyap 4 \ + --train-epochs 3 \ + --pre-epochs 2 \ + --inter-epochs 0 \ + --max-inter-episodes 0 \ + --batch-size 4 \ + --train-steps 40 \ + --lyap-steps 30 \ + --floss-input-steps 40 \ + --eval-every 1 \ + --eval-batches 1 \ + --device cuda \ + --out "${OUT_DIR}/toy_smoke.json" \ + > "${OUT_DIR}/toy_smoke.log" 2>&1 + +echo "[smoke] TRM interfloss analogue" +CUDA_VISIBLE_DEVICES="${GPU}" PYTHONUNBUFFERED=1 "${PY}" research/flossing/step7_interfloss.py \ + --model trm \ + --ckpt-root "${ROOT}/trm/checkpoints/Sudoku-extreme-1k-aug-1000-ACT-torch/pretrain_mlp_t_sudoku_official_gbs768_repro" \ + --ckpt-name __random__ \ + --init-seed 123 \ + --train-steps 1 \ + --batch-size 2 \ + --train-lr 1e-4 \ + --floss-lr 1e-4 \ + --floss-steps 1 \ + --interfloss-at 0 \ + --floss-mode engelken_l2 \ + --lambda-star 0 \ + --k-lyap 1 \ + --lyap-act-steps 1 \ + --seed 42 \ + --eval-every 1 \ + --eval-n 8 \ + --eval-batch-size 8 \ + --floss-log-every 1 \ + --no-eval-after-floss \ + --train-puzzle-emb \ + --puzzle-emb-lr 1e-4 \ + --puzzle-emb-weight-decay 1.0 \ + --out "${OUT_DIR}/trm_step7_smoke.json" \ + > "${OUT_DIR}/trm_step7_smoke.log" 2>&1 + +echo "[smoke] summarizer" +"${PY}" research/flossing/flossing_suite/summarize_flossing.py \ + > "${OUT_DIR}/summarize_smoke.log" 2>&1 + +echo "smoke OK: ${OUT_DIR}" diff --git a/flossing_suite/status.sh b/flossing_suite/status.sh new file mode 100755 index 0000000..39af2d6 --- /dev/null +++ b/flossing_suite/status.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="/home/yurenh2/rrm" +cd "${ROOT}" + +echo "== GPU ==" +nvidia-smi --query-gpu=index,memory.used,memory.total,utilization.gpu --format=csv,noheader,nounits + +echo +echo "== Active flossing processes ==" +ps -eo pid,ppid,stat,etime,cmd | rg 'engelken_python_flossing.py|step7_interfloss.py' || true + +echo +echo "== Latest logs ==" +for dir in \ + research/flossing/flossing_suite/results/toy_rnn \ + research/flossing/flossing_suite/results/trm_faithful \ + research/flossing/flossing_suite/results/trm_variants \ + research/flossing/flossing_suite/results/smoke +do + [[ -d "${dir}" ]] || continue + for f in "${dir}"/*.log; do + [[ -f "${f}" ]] || continue + echo + echo "-- ${f} --" + tail -n 8 "${f}" + done +done + +echo +echo "== Summary files ==" +ls -lh research/flossing/flossing_suite/results/summary 2>/dev/null || true diff --git a/flossing_suite/summarize_flossing.py b/flossing_suite/summarize_flossing.py new file mode 100644 index 0000000..e753b13 --- /dev/null +++ b/flossing_suite/summarize_flossing.py @@ -0,0 +1,311 @@ +from __future__ import annotations + +import csv +import json +from pathlib import Path +from typing import Any + +import matplotlib.pyplot as plt + + +ROOT = Path("/home/yurenh2/rrm") +FLOSS = ROOT / "research/flossing" +SUITE = FLOSS / "flossing_suite" +OUT = SUITE / "results/summary" + + +def load_json(path: Path) -> dict[str, Any] | None: + try: + return json.loads(path.read_text()) + except Exception as exc: + print(f"[skip] {path}: {exc}") + return None + + +def fnum(value: Any, default: float = float("nan")) -> float: + try: + if value is None: + return default + return float(value) + except Exception: + return default + + +def run_name(path: Path) -> str: + return path.relative_to(FLOSS).with_suffix("").as_posix() + + +def iter_json_paths() -> list[Path]: + patterns = [ + "engelken_python/*.json", + "engelken_paper_faithful/*.json", + "step6_*.json", + "step7_*.json", + "flossing_suite/results/**/*.json", + ] + paths: list[Path] = [] + for pattern in patterns: + paths.extend(FLOSS.glob(pattern)) + return sorted(set(paths)) + + +def classify(path: Path, data: dict[str, Any]) -> str: + if "config" in data: + return "toy_rnn" + if "phase1_steps" in data: + return "step6_prefloss_hrm" + if "args" in data and "floss_episodes" in data: + args = data.get("args", {}) + model = args.get("model", "unknown") + return f"step7_interfloss_{model}" + return "unknown" + + +def selector_from_args(args: dict[str, Any]) -> str: + schedule = str(args.get("interfloss_at", "")) + steps = int(fnum(args.get("floss_steps"), 0)) + mode = str(args.get("floss_mode", "none")) + kl = fnum(args.get("kl_beta"), 0.0) + every = int(fnum(args.get("interfloss_every"), 0)) + if not schedule or steps <= 0: + return "baseline_no_floss" + label = f"{mode}@{schedule}_steps{steps}" + if every > 0: + label += f"_every{every}" + if kl > 0: + label += f"_kl{kl:g}" + return label + + +def summarize_toy(path: Path, data: dict[str, Any]) -> tuple[dict[str, Any], list[dict[str, Any]]]: + cfg = data.get("config", {}) + evals = data.get("evals", []) + first = evals[0] if evals else {} + last = evals[-1] if evals else {} + peak = max((fnum(e.get("eval_accuracy")) for e in evals), default=float("nan")) + pre_epochs = int(fnum(cfg.get("pre_epochs"), 0)) + inter_epochs = int(fnum(cfg.get("inter_epochs"), 0)) + max_inter = int(fnum(cfg.get("max_inter_episodes"), 0)) + if pre_epochs <= 0 and max_inter <= 0: + selector = "baseline_no_floss" + elif pre_epochs > 0 and max_inter <= 0: + selector = "prefloss" + else: + selector = "pre_interfloss" + + summary = { + "name": run_name(path), + "path": str(path), + "family": "toy_rnn", + "model": "vanilla_rnn", + "selector": selector, + "floss_mode": "engelken_l2", + "schedule": f"pre={pre_epochs},inter_period={cfg.get('inter_period')},max_inter={max_inter}", + "train_steps": cfg.get("train_epochs"), + "floss_steps": pre_epochs + inter_epochs * max_inter, + "k_lyap": cfg.get("n_lyap"), + "kl_beta": 0, + "initial_acc": fnum(first.get("eval_accuracy")), + "final_acc": fnum(last.get("eval_accuracy")), + "best_acc": peak, + "delta_final": fnum(last.get("eval_accuracy")) - fnum(first.get("eval_accuracy")), + "n_evals": len(evals), + "n_floss_episodes": (1 if pre_epochs > 0 else 0) + max_inter, + "status": "complete" if evals else "unknown", + } + rows = [] + for e in evals: + rows.append( + { + "name": summary["name"], + "family": summary["family"], + "model": summary["model"], + "selector": summary["selector"], + "x": e.get("epoch"), + "acc": e.get("eval_accuracy"), + "loss": e.get("eval_loss"), + "kind": "eval", + } + ) + return summary, rows + + +def summarize_step7(path: Path, data: dict[str, Any]) -> tuple[dict[str, Any], list[dict[str, Any]]]: + args = data.get("args", {}) + evals = data.get("evals", []) + first = evals[0] if evals else {} + final_acc = fnum(data.get("final_acc"), fnum(evals[-1].get("acc") if evals else None)) + best = max((fnum(e.get("acc")) for e in evals), default=float("nan")) + model = str(args.get("model", "unknown")) + train_steps = int(fnum(args.get("train_steps"), 0)) + task_batch = int(fnum(args.get("task_batch_size", args.get("batch_size")), 0)) + floss_batch = int(fnum(args.get("floss_batch_size", args.get("batch_size")), 0)) + every = int(fnum(args.get("interfloss_every"), 0)) + start = int(fnum(args.get("interfloss_start"), 0)) + stop = int(fnum(args.get("interfloss_stop"), -1)) + schedule = str(args.get("interfloss_at", "")) + if every > 0: + schedule = f"{schedule}; every={every}, start={start}, stop={stop}" + summary = { + "name": run_name(path), + "path": str(path), + "family": "rrm_step7", + "model": model, + "selector": selector_from_args(args), + "floss_mode": args.get("floss_mode", "none"), + "schedule": schedule, + "train_steps": train_steps, + "task_batch_size": task_batch, + "floss_batch_size": floss_batch, + "effective_official_gbs768_steps": train_steps * task_batch / 768 if task_batch else "", + "floss_steps": args.get("floss_steps"), + "k_lyap": args.get("k_lyap"), + "kl_beta": args.get("kl_beta", 0), + "initial_acc": fnum(data.get("initial_acc"), fnum(first.get("acc"))), + "final_acc": final_acc, + "best_acc": best, + "delta_final": final_acc - fnum(data.get("initial_acc"), fnum(first.get("acc"))), + "n_evals": len(evals), + "n_floss_episodes": len(data.get("floss_episodes", [])), + "status": "complete" if "final_acc" in data else "running_or_incomplete", + } + rows = [] + for e in evals: + rows.append( + { + "name": summary["name"], + "family": summary["family"], + "model": model, + "selector": summary["selector"], + "x": e.get("train_step"), + "acc": e.get("acc"), + "loss": "", + "kind": e.get("kind", "eval"), + } + ) + return summary, rows + + +def summarize_step6(path: Path, data: dict[str, Any]) -> tuple[dict[str, Any], list[dict[str, Any]]]: + args = data.get("args", {}) + phase1 = data.get("phase1_evals", []) + phase2 = data.get("phase2_evals", []) + evals = [] + evals.extend({"kind": "phase1", **e} for e in phase1) + evals.extend({"kind": "phase2", **e} for e in phase2) + final_acc = fnum(data.get("final_acc"), fnum(phase2[-1].get("acc") if phase2 else None)) + best = max((fnum(e.get("acc")) for e in evals), default=float("nan")) + pre_steps = int(fnum(args.get("prefloss_steps"), 0)) + selector = "baseline_no_prefloss" if pre_steps <= 0 else f"prefloss_{args.get('floss_mode')}" + summary = { + "name": run_name(path), + "path": str(path), + "family": "hrm_step6", + "model": "hrm", + "selector": selector, + "floss_mode": args.get("floss_mode", "none"), + "schedule": f"pre={pre_steps}", + "train_steps": args.get("train_steps"), + "floss_steps": args.get("prefloss_steps"), + "k_lyap": args.get("k_lyap"), + "kl_beta": 0, + "initial_acc": fnum(data.get("initial_acc")), + "final_acc": final_acc, + "best_acc": best, + "delta_final": final_acc - fnum(data.get("initial_acc")), + "n_evals": len(evals), + "n_floss_episodes": 1 if pre_steps > 0 else 0, + "status": "complete" if "final_acc" in data else "running_or_incomplete", + } + rows = [] + for e in evals: + rows.append( + { + "name": summary["name"], + "family": summary["family"], + "model": "hrm", + "selector": summary["selector"], + "x": e.get("step"), + "acc": e.get("acc"), + "loss": "", + "kind": e.get("kind", "eval"), + } + ) + return summary, rows + + +def collect() -> tuple[list[dict[str, Any]], list[dict[str, Any]]]: + summaries: list[dict[str, Any]] = [] + eval_rows: list[dict[str, Any]] = [] + for path in iter_json_paths(): + data = load_json(path) + if data is None: + continue + family = classify(path, data) + if family == "toy_rnn": + summary, rows = summarize_toy(path, data) + elif family.startswith("step7"): + summary, rows = summarize_step7(path, data) + elif family == "step6_prefloss_hrm": + summary, rows = summarize_step6(path, data) + else: + continue + summaries.append(summary) + eval_rows.extend(rows) + return summaries, eval_rows + + +def write_csv(path: Path, rows: list[dict[str, Any]]) -> None: + if not rows: + path.write_text("") + return + keys = list(rows[0].keys()) + for row in rows[1:]: + for key in row: + if key not in keys: + keys.append(key) + with path.open("w", newline="") as f: + writer = csv.DictWriter(f, fieldnames=keys) + writer.writeheader() + writer.writerows(rows) + + +def plot_family(eval_rows: list[dict[str, Any]], family: str, out: Path, title: str) -> None: + rows = [r for r in eval_rows if r["family"] == family and r.get("x") not in ("", None)] + if not rows: + return + fig, ax = plt.subplots(figsize=(8.5, 4.6)) + names = sorted({r["name"] for r in rows}) + for name in names: + nr = [r for r in rows if r["name"] == name] + nr.sort(key=lambda r: fnum(r["x"])) + xs = [fnum(r["x"]) for r in nr] + ys = [fnum(r["acc"]) for r in nr] + label = name.split("/")[-1] + ax.plot(xs, ys, marker="o", linewidth=1.8, label=label) + ax.set_title(title) + ax.set_xlabel("epoch / train step") + ax.set_ylabel("eval exact accuracy") + ax.grid(alpha=0.22) + ax.legend(frameon=False, fontsize=7) + fig.tight_layout() + fig.savefig(out, dpi=180) + plt.close(fig) + + +def main() -> None: + OUT.mkdir(parents=True, exist_ok=True) + summaries, eval_rows = collect() + summaries.sort(key=lambda r: (str(r["family"]), str(r["model"]), str(r["name"]))) + write_csv(OUT / "flossing_runs_summary.csv", summaries) + write_csv(OUT / "flossing_eval_curves.csv", eval_rows) + plot_family(eval_rows, "toy_rnn", OUT / "toy_rnn_eval_curves.png", "Toy RNN Engelken-style flossing") + plot_family(eval_rows, "rrm_step7", OUT / "rrm_step7_eval_curves.png", "HRM/TRM interfloss analogues") + plot_family(eval_rows, "hrm_step6", OUT / "hrm_step6_eval_curves.png", "HRM prefloss experiments") + print(f"wrote {OUT / 'flossing_runs_summary.csv'}") + print(f"wrote {OUT / 'flossing_eval_curves.csv'}") + print(f"runs: {len(summaries)} eval points: {len(eval_rows)}") + + +if __name__ == "__main__": + main() diff --git a/flossing_suite/watch_and_summarize.sh b/flossing_suite/watch_and_summarize.sh new file mode 100755 index 0000000..a75c250 --- /dev/null +++ b/flossing_suite/watch_and_summarize.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -euo pipefail + +ROOT="/home/yurenh2/rrm" +PY="/home/yurenh2/miniconda3/envs/rrm/bin/python" +cd "${ROOT}" + +if [[ "$#" -gt 0 ]]; then + pid_files=("$@") +else + pid_files=(research/flossing/flossing_suite/results/trm_faithful/trm_seed123_*.pid) +fi + +echo "watching ${#pid_files[@]} pid files" +for pf in "${pid_files[@]}"; do + [[ -f "${pf}" ]] || continue + pid="$(cat "${pf}")" + echo "watch ${pf}: pid ${pid}" + while kill -0 "${pid}" 2>/dev/null; do + sleep 60 + done + echo "done ${pf}: pid ${pid}" +done + +"${PY}" research/flossing/flossing_suite/summarize_flossing.py +bash research/flossing/flossing_suite/status.sh > research/flossing/flossing_suite/results/summary/final_status.txt +echo "watch complete" |
