diff --git a/crates/ml-alpha/examples/alpha_rl_train.rs b/crates/ml-alpha/examples/alpha_rl_train.rs index df1adbc4e..fdac44db2 100644 --- a/crates/ml-alpha/examples/alpha_rl_train.rs +++ b/crates/ml-alpha/examples/alpha_rl_train.rs @@ -885,7 +885,7 @@ fn main() -> Result<()> { "stale": isv[RL_LR_V_STEPS_SINCE_BEST_INDEX], "warmup": isv[RL_LR_V_WARMUP_COUNTER_INDEX] }, }, - "replay_len": 0usize, + "replay_len": trainer.gpu_replay.capacity.min(step + 1), // Post-scale, POST-clamp reward stats — what V regression // and Q distributional projection actually saw this step. // The `scaled_pre_clamp_max` field (below) is the SAME @@ -1152,7 +1152,7 @@ fn main() -> Result<()> { isv[RL_PPO_CLIP_INDEX], isv[RL_PER_ALPHA_INDEX], isv[RL_REWARD_SCALE_INDEX], - 0usize, + trainer.gpu_replay.capacity.min(step + 1), done_count, reward_sum, sps, @@ -1298,7 +1298,7 @@ fn main() -> Result<()> { summary.final_l_aux = s.l_aux; summary.final_l_total = s.l_total; } - summary.final_replay_len = 0usize; + summary.final_replay_len = trainer.gpu_replay.capacity.min(cli.n_steps); summary.completed_clean = summary.n_steps_completed == summary.n_steps_planned; write_summary(&cli.out, &summary)?;