Files
foxhunt/inspect_safetensors.rs
jgrusewski 3853988af7 feat(hyperopt): Complete DQN hyperopt analysis and PSO optimizer fix
- Fixed PSO budget calculation bug in ml/src/hyperopt/optimizer.rs
  - Root cause: Division by n_particles in sequential execution
  - Now correctly calculates max_iters = remaining_trials (no division)
  - Result: 50 trials complete instead of 23 (100% vs 46%)

- Added comprehensive DQN hyperopt results analysis
  - 39/50 trials analyzed across 2 RunPod deployments
  - Best hyperparameters identified: LR 4.89e-5 (ultra-low)
  - Created DQN_HYPEROPT_RESULTS_SUMMARY.md with expert validation

- GitLab CI/CD pipeline operational (48 lines fixed)
  - Fixed YAML syntax errors (unquoted colons)
  - All 7 jobs validated and working

- Warning cleanup complete (136 → 0 warnings)
  - Removed 143 lines dead code
  - Fixed visibility, unused imports, Debug traits

- Archived Wave D reports to docs/archive/
  - 8 early stopping reports moved
  - Root directory cleaned up

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-02 21:49:07 +01:00

27 lines
755 B
Rust

use candle_core::{Device, safetensors};
use std::collections::HashMap;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let model_path = "/tmp/dqn_final_model.safetensors";
// Load SafeTensors
let device = Device::Cpu;
let tensors: HashMap<String, candle_core::Tensor> = safetensors::load(model_path, &device)?;
println!("=== DQN Model Tensor Structure ===");
println!("Total tensors: {}", tensors.len());
println!("\nTensor names and shapes:");
let mut names: Vec<_> = tensors.keys().collect();
names.sort();
for name in names {
if let Some(tensor) = tensors.get(name) {
let shape = tensor.shape();
println!(" {} {:?}", name, shape.dims());
}
}
Ok(())
}