pub trait Proposer {
// Required method
fn propose(
&mut self,
knobs: &[CalibrationKnob],
current_loss: (f64, f64),
history: &[StepReport],
) -> Option<ProposedPatch>;
}Expand description
Strategy for choosing the next knob + value to try.
Implementations receive the current knob state, the multi-seed
loss observation, and the history. They return None when they
have nothing more to propose (the loop then stops). The default
[BoundsScanProposer] cycles through knobs proposing
current ± max_step in the direction that improved the loss
most recently; an AutoTuner-driven proposer is a Piece 2.5 follow-up.
Required Methods§
fn propose( &mut self, knobs: &[CalibrationKnob], current_loss: (f64, f64), history: &[StepReport], ) -> Option<ProposedPatch>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".