pub struct LbfgsDiagnostics {
pub pairs_accepted: usize,
pub pairs_curvature_rejected: usize,
pub pairs_evicted_by_memory: usize,
pub gamma_clamp_hits: usize,
pub line_search_backtracks: usize,
}Expand description
Counters surfaced by the L-BFGS solver.
Fields§
§pairs_accepted: usizeNumber of (s, y) curvature pairs that passed the Cauchy-Schwarz
filter sy > F::epsilon() · sqrt(ss · yy) and entered the
history buffer.
pairs_curvature_rejected: usizeNumber of curvature pairs rejected by the filter
sy > F::epsilon() · sqrt(ss · yy) (negative or near-zero
curvature, i.e. cosine angle near 0 between s and y).
pairs_evicted_by_memory: usizeNumber of evict-then-push events: a new accepted pair was added
while the history buffer was already at config.memory, so the
oldest pair was dropped. With the FIFO eviction policy used here,
the invariant `pairs_evicted_by_memory == max(0, pairs_accepted
- config.memory)` holds exactly at termination.
gamma_clamp_hits: usizeNumber of iterations where the initial L-BFGS gamma was clamped
to the open range (1e-3, 1e3) (i.e. raw_gamma was strictly
outside) or substituted with 1.0 because sy/yy was non-finite.
A raw_gamma exactly equal to a clamp boundary is not counted.
line_search_backtracks: usizeTotal Armijo line-search trial points beyond the first per outer
iteration, summed across all iterations. A high value relative
to iterations signals the search direction is poorly scaled.
Trait Implementations§
Source§impl Clone for LbfgsDiagnostics
impl Clone for LbfgsDiagnostics
Source§fn clone(&self) -> LbfgsDiagnostics
fn clone(&self) -> LbfgsDiagnostics
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LbfgsDiagnostics
impl Debug for LbfgsDiagnostics
Source§impl Default for LbfgsDiagnostics
impl Default for LbfgsDiagnostics
Source§fn default() -> LbfgsDiagnostics
fn default() -> LbfgsDiagnostics
Auto Trait Implementations§
impl Freeze for LbfgsDiagnostics
impl RefUnwindSafe for LbfgsDiagnostics
impl Send for LbfgsDiagnostics
impl Sync for LbfgsDiagnostics
impl Unpin for LbfgsDiagnostics
impl UnsafeUnpin for LbfgsDiagnostics
impl UnwindSafe for LbfgsDiagnostics
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<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.