pub trait LearnedOptimizer {
// Required methods
fn meta_train(
&mut self,
training_tasks: &[TrainingTask],
) -> Result<(), OptimizeError>;
fn adapt_to_problem(
&mut self,
problem: &OptimizationProblem,
initial_params: &ArrayView1<'_, f64>,
) -> Result<(), OptimizeError>;
fn optimize<F>(
&mut self,
objective: F,
initial_params: &ArrayView1<'_, f64>,
) -> OptimizeResult<OptimizeResults<f64>>
where F: Fn(&ArrayView1<'_, f64>) -> f64;
fn get_state(&self) -> &MetaOptimizerState;
fn reset(&mut self);
}
Expand description
Trait for learned optimizers
Required Methods§
Sourcefn meta_train(
&mut self,
training_tasks: &[TrainingTask],
) -> Result<(), OptimizeError>
fn meta_train( &mut self, training_tasks: &[TrainingTask], ) -> Result<(), OptimizeError>
Meta-train the optimizer on a distribution of problems
Sourcefn adapt_to_problem(
&mut self,
problem: &OptimizationProblem,
initial_params: &ArrayView1<'_, f64>,
) -> Result<(), OptimizeError>
fn adapt_to_problem( &mut self, problem: &OptimizationProblem, initial_params: &ArrayView1<'_, f64>, ) -> Result<(), OptimizeError>
Adapt to a new problem with few-shot learning
Sourcefn optimize<F>(
&mut self,
objective: F,
initial_params: &ArrayView1<'_, f64>,
) -> OptimizeResult<OptimizeResults<f64>>
fn optimize<F>( &mut self, objective: F, initial_params: &ArrayView1<'_, f64>, ) -> OptimizeResult<OptimizeResults<f64>>
Optimize a function using learned knowledge
Sourcefn get_state(&self) -> &MetaOptimizerState
fn get_state(&self) -> &MetaOptimizerState
Get current meta-optimizer state
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.