Trait argmin::core::Observe[][src]

pub trait Observe<O: ArgminOp> {
    fn observe_init(&self, _name: &str, _kv: &ArgminKV) -> Result<(), Error> { ... }
fn observe_iter(
        &mut self,
        _state: &IterState<O>,
        _kv: &ArgminKV
    ) -> Result<(), Error> { ... } }

Defines the interface every Observer needs to expose

Provided methods

fn observe_init(&self, _name: &str, _kv: &ArgminKV) -> Result<(), Error>[src]

Called once at the beginning of the execution of the solver.

Parameters:

name: Name of the solver kv: Key-Value storage of initial configurations defined by the Solver

fn observe_iter(
    &mut self,
    _state: &IterState<O>,
    _kv: &ArgminKV
) -> Result<(), Error>
[src]

Called at every iteration of the solver

Parameters

state: Current state of the solver. See documentation of IterState for details. kv: Key-Value store of relevant variables defined by the Solver

Loading content...

Implementors

impl<O: ArgminOp> Observe<O> for WriteToFile<O>[src]

impl<O: ArgminOp> Observe<O> for ArgminSlogLogger[src]

fn observe_init(&self, msg: &str, kv: &ArgminKV) -> Result<(), Error>[src]

Log general info

fn observe_iter(
    &mut self,
    state: &IterState<O>,
    kv: &ArgminKV
) -> Result<(), Error>
[src]

This should be used to log iteration data only (because this is what may be saved in a CSV file or a database)

impl<O: ArgminOp> Observe<O> for Observer<O>[src]

By implementing Observe for Observer we basically allow a set of Observers to be used just like a single Observer.

fn observe_init(&self, msg: &str, kv: &ArgminKV) -> Result<(), Error>[src]

Initial observation This is called after the initialization in an Executor and gets the name of the solver as string and a ArgminKV which includes some solver-specific information.

fn observe_iter(
    &mut self,
    state: &IterState<O>,
    kv: &ArgminKV
) -> Result<(), Error>
[src]

This is called after every iteration and gets the current state of the solver as well as a KV which can include solver-specific information This respects the ObserverMode: Every Observer is only called as often as specified.

Loading content...