Files
foxhunt/ml
jgrusewski e3a46ba908 refactor: consolidate ModelType to single canonical enum in ml
Removed 3 duplicate ModelType enums (model_loader, hyperopt campaign,
job_spawner). Canonical definition in ml/src/lib.rs with 15 variants.
model_loader and job_spawner now re-export from ml. Added as_str(),
s3_prefix(), Display, to_db_string(), and weight() to canonical enum.
Replaced conflicting ToString impl with Display. Fixed variant name
mismatches (Dqn->DQN, Mamba2->MAMBA, Liquid->LNN, TlobTransformer->TLOB).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:26:09 +01:00
..

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:

  1. Standalone trainer -- direct training loop (e.g., DQN::train, PpoTrainer)
  2. 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