From 64e6353a5d2e027f2465321962b95bbbc6d69e24 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Sun, 19 Apr 2026 13:06:58 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20IQN=20num=5Fquantiles=2064=E2=86=9232=20?= =?UTF-8?q?in=20all=20binaries=20+=20production=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Default was hardcoded as 64 in train_baseline_rl.rs and evaluate_baseline.rs, overriding the config default of 32. Added num_quantiles=32 to production config so it's explicit. Co-Authored-By: Claude Opus 4.6 (1M context) --- config/training/dqn-production.toml | 1 + crates/ml/examples/evaluate_baseline.rs | 4 ++-- crates/ml/examples/train_baseline_rl.rs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/config/training/dqn-production.toml b/config/training/dqn-production.toml index 3771c5197..8ec639f93 100644 --- a/config/training/dqn-production.toml +++ b/config/training/dqn-production.toml @@ -91,6 +91,7 @@ her_ratio = 0.2 cql_alpha = 1.0 curiosity_weight = 0.1 iqn_lambda = 0.25 +num_quantiles = 32 spectral_norm_sigma_max = 1.5 spectral_decoupling_lambda = 0.01 # With per-component clipping removed, raw gradient norms are ~4000. diff --git a/crates/ml/examples/evaluate_baseline.rs b/crates/ml/examples/evaluate_baseline.rs index b40622b10..7c45a88a0 100644 --- a/crates/ml/examples/evaluate_baseline.rs +++ b/crates/ml/examples/evaluate_baseline.rs @@ -918,7 +918,7 @@ fn evaluate_dqn_fold( let gamma = hp_f64(hp, "gamma").unwrap_or(0.95); (10.0 / (1.0 - gamma) * 1.2).clamp(20.0, 300.0) }) as f32, - iqn_num_quantiles: hp_usize(hp, "num_quantiles").unwrap_or(64), + iqn_num_quantiles: hp_usize(hp, "num_quantiles").unwrap_or(32), ..DQNConfig::default() }; @@ -1086,7 +1086,7 @@ fn evaluate_dqn_fold_gpu( let gamma = hp_f64(hp, "gamma").unwrap_or(0.95); (10.0 / (1.0 - gamma) * 1.2).clamp(20.0, 300.0) }) as f32, - iqn_num_quantiles: hp_usize(hp, "num_quantiles").unwrap_or(64), + iqn_num_quantiles: hp_usize(hp, "num_quantiles").unwrap_or(32), ..DQNConfig::default() }; diff --git a/crates/ml/examples/train_baseline_rl.rs b/crates/ml/examples/train_baseline_rl.rs index 2f52e0874..f75517aa5 100644 --- a/crates/ml/examples/train_baseline_rl.rs +++ b/crates/ml/examples/train_baseline_rl.rs @@ -402,7 +402,7 @@ fn build_dqn_hyperparams( (10.0_f64 / (1.0 - gamma) * 1.2).clamp(20.0, 300.0) }), noisy_sigma_init: hp_f64(hp, "noisy_sigma_init").unwrap_or(0.5), - num_quantiles: hp_usize(hp, "num_quantiles").unwrap_or(64), + num_quantiles: hp_usize(hp, "num_quantiles").unwrap_or(32), noisy_epsilon_floor: hp_f64(hp, "noisy_epsilon_floor").unwrap_or(0.05).into(), hold_penalty_weight: hp_f64(hp, "hold_penalty_weight").unwrap_or(0.01), max_position_absolute: hp_f64(hp, "max_position_absolute").unwrap_or(2.0),