Training Profile Loader: - 3-tier resolution: $FOXHUNT_TRAINING_PROFILE > filesystem > embedded defaults - DqnTrainingProfile with 10 sections, all Option<T> for sparse profiles - apply_to() applies only Some fields, preserving struct defaults - 11 unit tests, all passing TOML Profiles (config/training/): - dqn-production.toml: full Rainbow DQN (40+ params) - dqn-smoketest.toml: CI fast path (sparse, 8 overrides) - dqn-hyperopt.toml: PSO search space ranges + fixed flags - ppo-production.toml, ppo-smoketest.toml - supervised-production.toml, supervised-smoketest.toml - walk-forward.toml: window sizes CLI Integration: - train_baseline_rl: --training-profile (default: dqn-production) - train_baseline_supervised: --training-profile (default: supervised-production) - Merge priority: CLI args > TOML profile > GPU profile > struct defaults Smoke Tests: - smoke_params() now loads dqn-smoketest.toml instead of hardcoding - Production features set as manual overrides (testing flags, not config) Infrastructure: - K8s job-template.yaml: TRAINING_PROFILE env var + --training-profile arg - Delete old config/ml/training.toml (replaced, zero callers) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
14 lines
293 B
TOML
14 lines
293 B
TOML
# Supervised Model Production Profile
|
|
# Shared across all 8 supervised models (TFT, Mamba2, TGGN, TLOB, Liquid, KAN, xLSTM, Diffusion)
|
|
|
|
[training]
|
|
epochs = 100
|
|
batch_size = 256
|
|
learning_rate = 0.001
|
|
weight_decay = 0.0001
|
|
gradient_clip_norm = 1.0
|
|
|
|
[early_stopping]
|
|
enabled = true
|
|
patience = 15
|