Files
foxhunt/crates
jgrusewski 7a90bc87d9 fix(dqn): route walk-forward Q-values through branching network
CRITICAL BUG: When use_branching=true, the optimizer trains ONLY the
branching network, but q_values_for_batch() (used by walk-forward
evaluator) was reading from dist_dueling_q_network — which was never
trained. Walk-forward was evaluating random/untrained weights.

Fix: q_values_for_batch() now uses the exposure branch Q-values
[batch, 5] from the trained branching network when use_branching=true.
Also adds device/dtype migration to match forward() contract.

Fixed IQN test that implicitly had use_branching=true (default) with
num_actions=3 — incompatible with 5-action branching exposure head.

1331 tests pass (416 ml-dqn + 915 ml), 0 failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 14:43:52 +01:00
..