From 39c636a0cbba4dc417bf7c8ea6eff068f9c37e49 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Sun, 22 Mar 2026 15:16:11 +0100 Subject: [PATCH] fix: update evaluate_baseline for new backtest evaluator API evaluate_dqn/evaluate_dqn_graphed now take (weights, branching_weights, DqnBacktestConfig) instead of (weights, network_dims). This was the compile error breaking all H100 CI runs. Co-Authored-By: Claude Opus 4.6 (1M context) --- crates/ml/examples/evaluate_baseline.rs | 13 +++++++++++-- crates/ml/src/lib.rs | 1 - 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/crates/ml/examples/evaluate_baseline.rs b/crates/ml/examples/evaluate_baseline.rs index 18c573b01..87d832a7b 100644 --- a/crates/ml/examples/evaluate_baseline.rs +++ b/crates/ml/examples/evaluate_baseline.rs @@ -1202,13 +1202,22 @@ fn evaluate_dqn_fold_gpu( let weights = extract_dueling_weights(dqn.get_q_network_vars(), &stream) .with_context(|| format!("extract_dueling_weights failed for fold {}", fold))?; + // Extract branching weights if branching DQN is active + use ml::cuda_pipeline::gpu_weights::extract_branching_weights; + let branching_weights = dqn.branching_q_network.as_ref() + .map(|br| extract_branching_weights(br.vars(), &stream)) + .transpose() + .with_context(|| format!("extract_branching_weights failed for fold {}", fold))?; + + let dqn_cfg = ml::cuda_pipeline::gpu_backtest_evaluator::DqnBacktestConfig::from_network_dims(network_dims); + if args.cuda_graphs { info!( " [DQN GPU] Using CUDA Graph-captured forward pass (fold {}, dims=({},{},{},{}))", fold, network_dims.0, network_dims.1, network_dims.2, network_dims.3, ); evaluator - .evaluate_dqn_graphed(&weights, network_dims) + .evaluate_dqn_graphed(&weights, branching_weights.as_ref(), &dqn_cfg) .with_context(|| format!( "GpuBacktestEvaluator::evaluate_dqn_graphed failed for fold {}", fold ))? @@ -1218,7 +1227,7 @@ fn evaluate_dqn_fold_gpu( fold, network_dims.0, network_dims.1, network_dims.2, network_dims.3, ); evaluator - .evaluate_dqn(&weights, network_dims) + .evaluate_dqn(&weights, branching_weights.as_ref(), &dqn_cfg) .with_context(|| format!( "GpuBacktestEvaluator::evaluate_dqn failed for fold {}", fold ))? diff --git a/crates/ml/src/lib.rs b/crates/ml/src/lib.rs index f4a9a16d9..76a77ff5a 100644 --- a/crates/ml/src/lib.rs +++ b/crates/ml/src/lib.rs @@ -467,4 +467,3 @@ pub mod prelude { } // Tests for FactoredAction <-> TradingAction now live in ml-core::common::action -// trigger CI