Add check_gradients_finite() utility that scans GradStore for NaN/Inf values. Wire into DQN (after gradient accumulation, before optimizer step) and PPO (both MLP and LSTM training paths, after backward pass). Prevents silent model corruption from exploding gradients or numerical instability — training halts immediately with a descriptive error. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ml
Machine learning models for Foxhunt.
Models
- DQN (Rainbow) -- Deep Q-Network with prioritized experience replay, dueling heads, noisy nets, double Q-learning
- PPO -- Proximal Policy Optimization with GAE, LSTM policies, clip-higher option
- TFT -- Temporal Fusion Transformer for multi-horizon time series forecasting
- Mamba2 -- State space model for efficient sequence prediction
- Liquid Networks -- Biologically inspired neural networks for non-stationary data
- TLOB -- Transformer-based Limit Order Book analysis
- Flash Attention -- Optimized attention implementation
Training
Two paths per model:
- Standalone trainer -- direct training loop (e.g.,
DQN::train,PpoTrainer) - UnifiedTrainable adapter -- wraps models for the hyperopt pipeline (e.g.,
DQNTrainableAdapter,UnifiedTrainablePPO)
Inference
InferenceAdapterBridge connects models to the ensemble coordinator in adaptive-strategy. Each model exposes an InferenceAdapter trait for prediction.
Backend
- Candle v0.9.1 --
VarMap,AdamW,loss.backward(),GradStore,opt.step(&grads) - CUDA required for training -- tested on RTX 3050 Ti 4GB, max batch size 230
- CPU inference supported
Hyperopt
ArgminOptimizer (Particle Swarm Optimization) with per-model adapters:
DQN, PPO, ContinuousPPO, TFT, Mamba2. Uses ParameterSpace trait for continuous parameter mapping.
ModelType Enum
15 variants: CompactDQN, DistilledMicroNet, DQN, RainbowDQN, MAMBA, TFT, TGGN, LNN, TLOB, PPO, Transformer, Mamba, LiquidNet, TGNN, Ensemble.
Key Modules
dqn, ppo, tft, mamba, liquid, tlob, flash_attention, ensemble, evaluation, inference, trainers, hyperopt, checkpoint, preprocessing, data_loaders, features, model_factory, training_pipeline, regime_detection, stress_testing, validation, bridge, common, metrics.
Testing
SQLX_OFFLINE=true cargo test -p ml --lib # ~2009 tests