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", so this trait is not object safe.

Implementors§