BREAKING CHANGES: - Removed orphaned dqn.rs monolithic trainer (4,975 lines) - Removed orphaned dqn_ensemble.rs module (816 lines) - Removed orphaned tft.rs and tft_complete_int8_integration_test.rs - TFT trainer split into modular directory structure DQN Module Refactoring: - Split trainers/dqn.rs into modular structure (config.rs, statistics.rs, trainer.rs) - Fixed hyperopt 39D search space (continuous params only) - Boolean flags (use_dueling, use_double_dqn, use_per, use_noisy_nets) are now FIXED architectural decisions - use_distributional defaults to false (Candle BUG #36 - scatter_add gradient issues) Clean Module Structure: - ml/src/trainers/dqn/ directory with proper mod.rs exports - ml/src/trainers/tft/ directory with config.rs, types.rs, model.rs, trainer.rs, tests.rs - All P0 features validated: TD-error clamping, batch diversity, LR scheduler, priority staleness Documentation: - Added comprehensive docs in docs/codebase-cleanup/ - ADR-001 for DQN refactoring decisions - Rainbow DQN component matrix and quick reference guides Build Status: Compiles with zero errors 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
48 lines
1.3 KiB
JSON
48 lines
1.3 KiB
JSON
{
|
|
"model_path": "/home/user/foxhunt/ml/trained_models/dqn_best_model.safetensors",
|
|
"data_path": "/home/user/foxhunt/test_data/ES_FUT_unseen.parquet",
|
|
"evaluation_timestamp": "2025-11-08T14:32:45.123456789Z",
|
|
"warmup_bars": 50,
|
|
"device": "cuda",
|
|
"total_runtime_sec": 2.453,
|
|
"action_distribution": {
|
|
"buy_count": 1234,
|
|
"sell_count": 987,
|
|
"hold_count": 3456,
|
|
"buy_pct": 21.5,
|
|
"sell_pct": 17.2,
|
|
"hold_pct": 61.3,
|
|
"total_bars": 5677
|
|
},
|
|
"avg_q_values": {
|
|
"buy_avg": 0.4523,
|
|
"sell_avg": -0.1234,
|
|
"hold_avg": 0.8912
|
|
},
|
|
"inference_performance": {
|
|
"mean_latency_us": 342.5,
|
|
"median_latency_us": 325,
|
|
"p50_latency_us": 325,
|
|
"p95_latency_us": 412,
|
|
"p99_latency_us": 487,
|
|
"min_latency_us": 198,
|
|
"max_latency_us": 1243
|
|
},
|
|
"policy_consistency": {
|
|
"total_switches": 1456,
|
|
"switch_rate": 0.2564,
|
|
"interpretation": "Moderate - Healthy adaptive behavior"
|
|
},
|
|
"production_readiness": {
|
|
"latency_p99_ok": true,
|
|
"latency_p99_threshold_us": 5000,
|
|
"latency_p99_actual_us": 487,
|
|
"consistency_ok": true,
|
|
"consistency_threshold_pct": "10-30%",
|
|
"consistency_actual_pct": 25.64,
|
|
"balanced_actions_ok": true,
|
|
"q_values_finite_ok": true,
|
|
"overall_ready": true
|
|
}
|
|
}
|