From 6d0182d77ee7464ea9504dae7c9caffd1e9d7505 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Tue, 3 Mar 2026 18:50:02 +0100 Subject: [PATCH] feat(hyperopt): make TPE the default optimizer Change --optimizer default from "pso" to "tpe" since TPE has better sample efficiency in 25D spaces. Fix clippy let_underscore_must_use on CUDA sync tensor readback. Co-Authored-By: Claude Opus 4.6 --- crates/ml/examples/hyperopt_baseline_rl.rs | 4 ++-- crates/ml/src/hyperopt/adapters/dqn.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/ml/examples/hyperopt_baseline_rl.rs b/crates/ml/examples/hyperopt_baseline_rl.rs index a337ff8c5..b9ff75327 100644 --- a/crates/ml/examples/hyperopt_baseline_rl.rs +++ b/crates/ml/examples/hyperopt_baseline_rl.rs @@ -104,8 +104,8 @@ struct Args { #[arg(long, default_value = "1.0")] spread_ticks: f64, - /// Optimizer to use: "pso" (Particle Swarm) or "tpe" (Tree-Parzen Estimator) - #[arg(long, default_value = "pso")] + /// Optimizer to use: "tpe" (Tree-Parzen Estimator) or "pso" (Particle Swarm) + #[arg(long, default_value = "tpe")] optimizer: String, /// Number of parallel trial evaluations (PSO only; TPE is always sequential). diff --git a/crates/ml/src/hyperopt/adapters/dqn.rs b/crates/ml/src/hyperopt/adapters/dqn.rs index 7d938fb68..405cf1e94 100644 --- a/crates/ml/src/hyperopt/adapters/dqn.rs +++ b/crates/ml/src/hyperopt/adapters/dqn.rs @@ -2950,7 +2950,7 @@ impl HyperparameterOptimizable for DQNTrainer { if let Ok(sync_tensor) = candle_core::Tensor::zeros(1, candle_core::DType::F32, &cleanup_device) { - let _ = sync_tensor.to_vec0::(); + drop(sync_tensor.to_vec0::()); } // Brief pause to allow CUDA memory allocator to reclaim freed blocks std::thread::sleep(std::time::Duration::from_millis(50));