Skip to main content

LearnedOptimizer

Trait LearnedOptimizer 

Source
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§

Source

fn meta_train( &mut self, training_tasks: &[TrainingTask], ) -> Result<(), OptimizeError>

Meta-train the optimizer on a distribution of problems

Source

fn adapt_to_problem( &mut self, problem: &OptimizationProblem, initial_params: &ArrayView1<'_, f64>, ) -> Result<(), OptimizeError>

Adapt to a new problem with few-shot learning

Source

fn optimize<F>( &mut self, objective: F, initial_params: &ArrayView1<'_, f64>, ) -> OptimizeResult<OptimizeResults<f64>>
where F: Fn(&ArrayView1<'_, f64>) -> f64,

Optimize a function using learned knowledge

Source

fn get_state(&self) -> &MetaOptimizerState

Get current meta-optimizer state

Source

fn reset(&mut self)

Reset the optimizer

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§