From 47f8c6109db1bf882a338ff17f05c3dad3589952 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Tue, 3 Mar 2026 00:09:58 +0100 Subject: [PATCH] feat(dqn): record Q-value, gradient norm, epoch duration, buffer size metrics Co-Authored-By: Claude Opus 4.6 --- crates/ml/src/trainers/dqn/trainer.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/crates/ml/src/trainers/dqn/trainer.rs b/crates/ml/src/trainers/dqn/trainer.rs index bbc46d08f..a06c22b12 100644 --- a/crates/ml/src/trainers/dqn/trainer.rs +++ b/crates/ml/src/trainers/dqn/trainer.rs @@ -2659,6 +2659,17 @@ impl DQNTrainer { train_step_count as f64 / epoch_duration.as_secs_f64(), ); } + // Tier 1: RL diagnostics + training health + training_metrics::set_q_value_stats("dqn", "current", q_mean, q_max); + training_metrics::set_gradient_norm("dqn", "current", avg_grad_norm); + training_metrics::set_epoch_duration("dqn", "current", epoch_duration.as_secs_f64()); + training_metrics::set_learning_rate("dqn", "current", current_lr); + { + let agent = self.agent.read().await; + if let Ok(buf_size) = agent.get_replay_buffer_size() { + training_metrics::set_replay_buffer_size("dqn", "current", buf_size as f64); + } + } // WAVE 9-11 PRODUCTION: Track action diversity per epoch // Calculate active actions (used >0.5% of the time)