From 66e0d8b9fd4d0f7a2231d689c055e26fdf1cf04a Mon Sep 17 00:00:00 2001 From: YurenHao0426 Date: Sat, 13 Jun 2026 12:35:36 -0500 Subject: rrm workspace: TRM/HRM/SRM code, Maze dataset, dynamical-analysis pipeline Curated export for clone-and-run Maze training (2x A6000) + diagnostics. trm/hrm pretrain.py carry trajectory-augmentation code (backward-compatible). Heavy artifacts (checkpoints/wandb/npz) gitignored; see PROVENANCE.md. Co-Authored-By: Claude Fable 5 --- .../engelken_python/debug_n80_k40_3epoch.json | 69 ++++++++ research/flossing/engelken_python/gpu_smoke.json | 71 ++++++++ ..._py_baseline_no_floss_N80_k40_E1000_setsid.json | 133 +++++++++++++++ .../official_py_prefloss_N80_k40_E1000_setsid.json | 179 +++++++++++++++++++++ research/flossing/engelken_python/smoke.json | 88 ++++++++++ 5 files changed, 540 insertions(+) create mode 100644 research/flossing/engelken_python/debug_n80_k40_3epoch.json create mode 100644 research/flossing/engelken_python/gpu_smoke.json create mode 100644 research/flossing/engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid.json create mode 100644 research/flossing/engelken_python/official_py_prefloss_N80_k40_E1000_setsid.json create mode 100644 research/flossing/engelken_python/smoke.json (limited to 'research/flossing/engelken_python') diff --git a/research/flossing/engelken_python/debug_n80_k40_3epoch.json b/research/flossing/engelken_python/debug_n80_k40_3epoch.json new file mode 100644 index 0000000..47e1167 --- /dev/null +++ b/research/flossing/engelken_python/debug_n80_k40_3epoch.json @@ -0,0 +1,69 @@ +{ + "config": { + "hidden_size": 80, + "train_epochs": 3, + "inter_period": 100, + "inter_epochs": 0, + "pre_epochs": 0, + "max_inter_episodes": 0, + "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, + "n_lyap": 40, + "task": -1, + "lyap_target": 0.0, + "eval_every": 1, + "eval_batches": 1, + "log_every_floss": 25, + "device": "cuda", + "out": "research/flossing/engelken_python/debug_n80_k40_3epoch.json" + }, + "evals": [ + { + "epoch": 1, + "train_loss": 2.6957058906555176, + "train_accuracy": 0.5028914590747331, + "eval_loss": 2.1269004344940186, + "eval_accuracy": 0.5124555160142349, + "elapsed": 0.5589253902435303 + }, + { + "epoch": 2, + "train_loss": 2.2246620655059814, + "train_accuracy": 0.4971085409252669, + "eval_loss": 1.894472599029541, + "eval_accuracy": 0.5113434163701067, + "elapsed": 0.888566255569458 + }, + { + "epoch": 3, + "train_loss": 1.96369206905365, + "train_accuracy": 0.5044483985765125, + "eval_loss": 1.9043740034103394, + "eval_accuracy": 0.4853202846975089, + "elapsed": 1.2373430728912354 + } + ], + "floss": [], + "task": [] +} \ No newline at end of file diff --git a/research/flossing/engelken_python/gpu_smoke.json b/research/flossing/engelken_python/gpu_smoke.json new file mode 100644 index 0000000..2b4b298 --- /dev/null +++ b/research/flossing/engelken_python/gpu_smoke.json @@ -0,0 +1,71 @@ +{ + "config": { + "hidden_size": 16, + "train_epochs": 2, + "inter_period": 100, + "inter_epochs": 0, + "pre_epochs": 1, + "max_inter_episodes": 0, + "batch_size": 4, + "input_dim": 1, + "train_steps": 40, + "lyap_steps": 24, + "floss_input_steps": 40, + "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": 4, + "ws_std": 1.0, + "ws_mean": 0.0, + "wr_std": 1.0, + "wr_mean": 0.0, + "b_std": 0.1, + "b_mean": 0.0, + "n_lyap": 4, + "task": -1, + "lyap_target": 0.0, + "eval_every": 1, + "eval_batches": 1, + "log_every_floss": 1, + "device": "cuda", + "out": "research/flossing/engelken_python/gpu_smoke.json" + }, + "evals": [ + { + "epoch": 1, + "train_loss": 0.936610221862793, + "train_accuracy": 0.5378787878787878, + "eval_loss": 0.8679313659667969, + "eval_accuracy": 0.5151515151515151, + "elapsed": 1.3251755237579346 + }, + { + "epoch": 2, + "train_loss": 1.0361249446868896, + "train_accuracy": 0.4318181818181818, + "eval_loss": 0.9058582782745361, + "eval_accuracy": 0.49242424242424243, + "elapsed": 1.3534562587738037 + } + ], + "floss": [ + { + "epoch": 1, + "kind": "pre", + "floss_step": 1, + "loss": 0.12374763190746307, + "lambda_mean": -0.31238266825675964, + "lambda_1": -0.08050862699747086, + "elapsed": 1.2431800365447998 + } + ], + "task": [] +} \ No newline at end of file diff --git a/research/flossing/engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid.json b/research/flossing/engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid.json new file mode 100644 index 0000000..2b49fc4 --- /dev/null +++ b/research/flossing/engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid.json @@ -0,0 +1,133 @@ +{ + "config": { + "hidden_size": 80, + "train_epochs": 1000, + "inter_period": 100, + "inter_epochs": 100, + "pre_epochs": 0, + "max_inter_episodes": 0, + "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, + "n_lyap": 40, + "task": -1, + "lyap_target": 0.0, + "eval_every": 100, + "eval_batches": 4, + "log_every_floss": 25, + "device": "cuda", + "out": "research/flossing/engelken_python/official_py_baseline_no_floss_N80_k40_E1000_setsid.json" + }, + "evals": [ + { + "epoch": 1, + "train_loss": 2.7214243412017822, + "train_accuracy": 0.4944395017793594, + "eval_loss": 2.151065170764923, + "eval_accuracy": 0.5063389679715302, + "elapsed": 0.5985467433929443 + }, + { + "epoch": 100, + "train_loss": 0.6953426003456116, + "train_accuracy": 0.5042259786476868, + "eval_loss": 0.6981811821460724, + "eval_accuracy": 0.49888790035587194, + "elapsed": 15.785282135009766 + }, + { + "epoch": 200, + "train_loss": 0.7014592885971069, + "train_accuracy": 0.5042259786476868, + "eval_loss": 0.7067497670650482, + "eval_accuracy": 0.5025578291814947, + "elapsed": 31.04759454727173 + }, + { + "epoch": 300, + "train_loss": 0.7059277892112732, + "train_accuracy": 0.5097864768683275, + "eval_loss": 0.7166876345872879, + "eval_accuracy": 0.4968861209964413, + "elapsed": 45.731502532958984 + }, + { + "epoch": 400, + "train_loss": 0.6940261125564575, + "train_accuracy": 0.5073398576512456, + "eval_loss": 0.702445313334465, + "eval_accuracy": 0.5023354092526691, + "elapsed": 60.19276285171509 + }, + { + "epoch": 500, + "train_loss": 0.6941422820091248, + "train_accuracy": 0.5104537366548043, + "eval_loss": 0.6947141587734222, + "eval_accuracy": 0.49844306049822057, + "elapsed": 74.70046925544739 + }, + { + "epoch": 600, + "train_loss": 0.6930381059646606, + "train_accuracy": 0.5082295373665481, + "eval_loss": 0.6974123269319534, + "eval_accuracy": 0.49649688612099646, + "elapsed": 89.0256085395813 + }, + { + "epoch": 700, + "train_loss": 0.6990621089935303, + "train_accuracy": 0.4939946619217082, + "eval_loss": 0.7033253163099289, + "eval_accuracy": 0.49827624555160144, + "elapsed": 103.62685585021973 + }, + { + "epoch": 800, + "train_loss": 0.6958392858505249, + "train_accuracy": 0.5115658362989324, + "eval_loss": 0.6959485709667206, + "eval_accuracy": 0.5050600533807829, + "elapsed": 118.37209987640381 + }, + { + "epoch": 900, + "train_loss": 0.6938733458518982, + "train_accuracy": 0.516459074733096, + "eval_loss": 0.6901399791240692, + "eval_accuracy": 0.5216303380782918, + "elapsed": 132.95470571517944 + }, + { + "epoch": 1000, + "train_loss": 0.46928656101226807, + "train_accuracy": 0.7833629893238434, + "eval_loss": 0.47778721898794174, + "eval_accuracy": 0.7770796263345195, + "elapsed": 147.4065806865692 + } + ], + "floss": [], + "task": [] +} \ No newline at end of file diff --git a/research/flossing/engelken_python/official_py_prefloss_N80_k40_E1000_setsid.json b/research/flossing/engelken_python/official_py_prefloss_N80_k40_E1000_setsid.json new file mode 100644 index 0000000..87d5d4b --- /dev/null +++ b/research/flossing/engelken_python/official_py_prefloss_N80_k40_E1000_setsid.json @@ -0,0 +1,179 @@ +{ + "config": { + "hidden_size": 80, + "train_epochs": 1000, + "inter_period": 100, + "inter_epochs": 100, + "pre_epochs": 100, + "max_inter_episodes": 0, + "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, + "n_lyap": 40, + "task": -1, + "lyap_target": 0.0, + "eval_every": 100, + "eval_batches": 4, + "log_every_floss": 25, + "device": "cuda", + "out": "research/flossing/engelken_python/official_py_prefloss_N80_k40_E1000_setsid.json" + }, + "evals": [ + { + "epoch": 1, + "train_loss": 1.8594624996185303, + "train_accuracy": 0.49777580071174377, + "eval_loss": 1.6856758892536163, + "eval_accuracy": 0.5019461743772242, + "elapsed": 6.69805383682251 + }, + { + "epoch": 100, + "train_loss": 0.11722302436828613, + "train_accuracy": 0.964635231316726, + "eval_loss": 0.11776464246213436, + "eval_accuracy": 0.9623554270462634, + "elapsed": 21.55224633216858 + }, + { + "epoch": 200, + "train_loss": 0.028137803077697754, + "train_accuracy": 0.9931049822064056, + "eval_loss": 0.027145093772560358, + "eval_accuracy": 0.9935498220640568, + "elapsed": 36.35071516036987 + }, + { + "epoch": 300, + "train_loss": 0.012114334851503372, + "train_accuracy": 0.9975533807829181, + "eval_loss": 0.014187443535774946, + "eval_accuracy": 0.9963300711743772, + "elapsed": 50.83105397224426 + }, + { + "epoch": 400, + "train_loss": 0.008550425991415977, + "train_accuracy": 0.9986654804270463, + "eval_loss": 0.009522247593849897, + "eval_accuracy": 0.9975533807829181, + "elapsed": 65.30040979385376 + }, + { + "epoch": 500, + "train_loss": 0.006629249546676874, + "train_accuracy": 0.998220640569395, + "eval_loss": 0.009814425837248564, + "eval_accuracy": 0.9973865658362989, + "elapsed": 79.79007005691528 + }, + { + "epoch": 600, + "train_loss": 0.007227692287415266, + "train_accuracy": 0.998220640569395, + "eval_loss": 0.006339075975120068, + "eval_accuracy": 0.9983874555160143, + "elapsed": 94.47823691368103 + }, + { + "epoch": 700, + "train_loss": 0.00907257292419672, + "train_accuracy": 0.9979982206405694, + "eval_loss": 0.008150239707902074, + "eval_accuracy": 0.9981094306049823, + "elapsed": 109.5779447555542 + }, + { + "epoch": 800, + "train_loss": 0.005422760266810656, + "train_accuracy": 0.998220640569395, + "eval_loss": 0.006329314899630845, + "eval_accuracy": 0.9981650355871887, + "elapsed": 124.25900483131409 + }, + { + "epoch": 900, + "train_loss": 0.0072866384871304035, + "train_accuracy": 0.998220640569395, + "eval_loss": 0.0068275314988568425, + "eval_accuracy": 0.9981650355871886, + "elapsed": 138.78803777694702 + }, + { + "epoch": 1000, + "train_loss": 0.010031766258180141, + "train_accuracy": 0.9973309608540926, + "eval_loss": 0.01047352165915072, + "eval_accuracy": 0.9972753558718862, + "elapsed": 153.229962348938 + } + ], + "floss": [ + { + "epoch": 1, + "kind": "pre", + "floss_step": 1, + "loss": 0.2797410190105438, + "lambda_mean": -0.507389485836029, + "lambda_1": -0.2639281749725342, + "elapsed": 0.7526497840881348 + }, + { + "epoch": 1, + "kind": "pre", + "floss_step": 25, + "loss": 0.09786238521337509, + "lambda_mean": -0.29911166429519653, + "lambda_1": -0.1687435507774353, + "elapsed": 2.0286896228790283 + }, + { + "epoch": 1, + "kind": "pre", + "floss_step": 50, + "loss": 0.04969814047217369, + "lambda_mean": -0.21222734451293945, + "lambda_1": -0.13751955330371857, + "elapsed": 3.3226377964019775 + }, + { + "epoch": 1, + "kind": "pre", + "floss_step": 75, + "loss": 0.02838609553873539, + "lambda_mean": -0.1609755903482437, + "lambda_1": -0.10771095007658005, + "elapsed": 4.703521490097046 + }, + { + "epoch": 1, + "kind": "pre", + "floss_step": 100, + "loss": 0.00937537383288145, + "lambda_mean": -0.09084373712539673, + "lambda_1": -0.053737666457891464, + "elapsed": 6.211953639984131 + } + ], + "task": [] +} \ No newline at end of file diff --git a/research/flossing/engelken_python/smoke.json b/research/flossing/engelken_python/smoke.json new file mode 100644 index 0000000..91243ec --- /dev/null +++ b/research/flossing/engelken_python/smoke.json @@ -0,0 +1,88 @@ +{ + "config": { + "hidden_size": 16, + "train_epochs": 3, + "inter_period": 100, + "inter_epochs": 0, + "pre_epochs": 2, + "max_inter_episodes": 0, + "batch_size": 4, + "input_dim": 1, + "train_steps": 40, + "lyap_steps": 24, + "floss_input_steps": 40, + "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": 4, + "ws_std": 1.0, + "ws_mean": 0.0, + "wr_std": 1.0, + "wr_mean": 0.0, + "b_std": 0.1, + "b_mean": 0.0, + "n_lyap": 4, + "task": -1, + "lyap_target": 0.0, + "eval_every": 1, + "eval_batches": 1, + "log_every_floss": 1, + "device": "cpu", + "out": "research/flossing/engelken_python/smoke.json" + }, + "evals": [ + { + "epoch": 1, + "train_loss": 0.9210983514785767, + "train_accuracy": 0.5075757575757576, + "eval_loss": 0.9093148708343506, + "eval_accuracy": 0.49242424242424243, + "elapsed": 0.516287088394165 + }, + { + "epoch": 2, + "train_loss": 0.8702212572097778, + "train_accuracy": 0.49242424242424243, + "eval_loss": 0.9205472469329834, + "eval_accuracy": 0.5151515151515151, + "elapsed": 0.5272181034088135 + }, + { + "epoch": 3, + "train_loss": 0.8779881000518799, + "train_accuracy": 0.5075757575757576, + "eval_loss": 0.8646541237831116, + "eval_accuracy": 0.5303030303030303, + "elapsed": 0.5375027656555176 + } + ], + "floss": [ + { + "epoch": 1, + "kind": "pre", + "floss_step": 1, + "loss": 0.15247562527656555, + "lambda_mean": -0.3786541223526001, + "lambda_1": -0.24950672686100006, + "elapsed": 0.4707159996032715 + }, + { + "epoch": 1, + "kind": "pre", + "floss_step": 2, + "loss": 0.3489196300506592, + "lambda_mean": -0.589697003364563, + "lambda_1": -0.5535489320755005, + "elapsed": 0.479067325592041 + } + ], + "task": [] +} \ No newline at end of file -- cgit v1.2.3