Files
foxhunt/crates/ml-core
jgrusewski 686f180d7b fix(ppo): pure BF16 dtype alignment across all PPO networks and tensor ops
Cast all Tensor::full() / Tensor::from_vec() call sites to training_dtype
instead of defaulting to F32. Fixes dtype mismatch errors (BF16 vs F32)
in PPO training on CUDA:

- tensor_ops: scalar_mul, clamp, normalize match operand dtype
- trajectories: TrajectoryBatch/MiniBatch to_tensors cast to training dtype
- continuous_ppo: ContinuousTrajectoryBatch/MiniBatch to_tensors cast
- adaptive_entropy: cast entropy to F32 for alpha multiplication boundary
- continuous_policy: forward() input cast, Tensor::full scalars match dtype
- flow_policy: sample_base_noise cast to training dtype
- hidden_state_manager: reset tensors use training_dtype
- ensemble/ppo adapter: predict input cast to training dtype
- trainable_adapter: test uses training_dtype instead of hardcoded F32

Verified: 198/198 ml-ppo tests pass, 63/63 ml PPO tests pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 13:45:22 +01:00
..