pub struct OptimizerSummary {Show 18 fields
pub optimizer_name: &'static str,
pub initial_cost: f64,
pub final_cost: f64,
pub iterations: usize,
pub successful_steps: Option<usize>,
pub unsuccessful_steps: Option<usize>,
pub average_cost_reduction: f64,
pub max_gradient_norm: f64,
pub final_gradient_norm: f64,
pub max_parameter_update_norm: f64,
pub final_parameter_update_norm: f64,
pub total_time: Duration,
pub average_time_per_iteration: Duration,
pub iteration_history: Vec<IterationStats>,
pub convergence_status: OptimizationStatus,
pub final_damping: Option<f64>,
pub final_trust_region_radius: Option<f64>,
pub rho: Option<f64>,
}Expand description
Unified summary statistics for all optimizer types.
Replaces the separate LevenbergMarquardtSummary, GaussNewtonSummary,
and DogLegSummary structs with a single type that handles algorithm-specific
fields via Option.
Fields§
§optimizer_name: &'static strName of the optimizer algorithm
initial_cost: f64Initial cost value
final_cost: f64Final cost value
iterations: usizeTotal number of iterations performed
successful_steps: Option<usize>Number of successful steps (None for GN which always accepts)
unsuccessful_steps: Option<usize>Number of unsuccessful steps (None for GN which always accepts)
average_cost_reduction: f64Average cost reduction per iteration
max_gradient_norm: f64Maximum gradient norm encountered
final_gradient_norm: f64Final gradient norm
max_parameter_update_norm: f64Maximum parameter update norm
final_parameter_update_norm: f64Final parameter update norm
total_time: DurationTotal time elapsed
average_time_per_iteration: DurationAverage time per iteration
iteration_history: Vec<IterationStats>Detailed per-iteration statistics history
convergence_status: OptimizationStatusConvergence status
final_damping: Option<f64>Final damping parameter (LM only)
final_trust_region_radius: Option<f64>Final trust region radius (DL only)
rho: Option<f64>Step quality ratio (LM only)
Trait Implementations§
Source§impl Clone for OptimizerSummary
impl Clone for OptimizerSummary
Source§fn clone(&self) -> OptimizerSummary
fn clone(&self) -> OptimizerSummary
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OptimizerSummary
impl Debug for OptimizerSummary
Auto Trait Implementations§
impl Freeze for OptimizerSummary
impl RefUnwindSafe for OptimizerSummary
impl Send for OptimizerSummary
impl Sync for OptimizerSummary
impl Unpin for OptimizerSummary
impl UnsafeUnpin for OptimizerSummary
impl UnwindSafe for OptimizerSummary
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.