Trait argmin::core::Observe [−][src]
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]
&mut self,
_state: &IterState<O>,
_kv: &ArgminKV
) -> Result<(), Error>
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
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]
&mut self,
state: &IterState<O>,
kv: &ArgminKV
) -> Result<(), Error>
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 Observer
s to be used
just like a single Observe
r.
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]
&mut self,
state: &IterState<O>,
kv: &ArgminKV
) -> Result<(), Error>
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 Observe
r is only called as often as specified.