pub struct NaturalGradientOptimizer<T: Float> { /* private fields */ }Expand description
Natural gradient optimizer for statistical manifolds
Implementations§
Source§impl<T: Float> NaturalGradientOptimizer<T>
impl<T: Float> NaturalGradientOptimizer<T>
Sourcepub fn new(config: NaturalGradientConfig<T>) -> Self
pub fn new(config: NaturalGradientConfig<T>) -> Self
Create a new natural gradient optimizer with given configuration
Sourcepub fn with_default_config() -> Self
pub fn with_default_config() -> Self
Create optimizer with default configuration
Sourcepub fn optimize_statistical<const DIM: usize, C: ConstraintState, O: ObjectiveState, V: ConvexityState>(
&self,
_problem: &OptimizationProblem<DIM, C, O, V, Statistical>,
objective: &impl ObjectiveWithFisher<T>,
initial_parameters: Vec<T>,
) -> OptimizationResult<NaturalGradientResult<T>>
pub fn optimize_statistical<const DIM: usize, C: ConstraintState, O: ObjectiveState, V: ConvexityState>( &self, _problem: &OptimizationProblem<DIM, C, O, V, Statistical>, objective: &impl ObjectiveWithFisher<T>, initial_parameters: Vec<T>, ) -> OptimizationResult<NaturalGradientResult<T>>
Optimize on a statistical manifold
Sourcepub fn optimize_riemannian<const DIM: usize, C: ConstraintState, O: ObjectiveState, V: ConvexityState>(
&self,
_problem: &OptimizationProblem<DIM, C, O, V, Riemannian>,
objective: &impl ObjectiveWithFisher<T>,
initial_parameters: Vec<T>,
) -> OptimizationResult<NaturalGradientResult<T>>
pub fn optimize_riemannian<const DIM: usize, C: ConstraintState, O: ObjectiveState, V: ConvexityState>( &self, _problem: &OptimizationProblem<DIM, C, O, V, Riemannian>, objective: &impl ObjectiveWithFisher<T>, initial_parameters: Vec<T>, ) -> OptimizationResult<NaturalGradientResult<T>>
Optimize on a Riemannian manifold
Trait Implementations§
Source§impl<T: Clone + Float> Clone for NaturalGradientOptimizer<T>
impl<T: Clone + Float> Clone for NaturalGradientOptimizer<T>
Source§fn clone(&self) -> NaturalGradientOptimizer<T>
fn clone(&self) -> NaturalGradientOptimizer<T>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<T> Freeze for NaturalGradientOptimizer<T>where
T: Freeze,
impl<T> RefUnwindSafe for NaturalGradientOptimizer<T>where
T: RefUnwindSafe,
impl<T> Send for NaturalGradientOptimizer<T>where
T: Send,
impl<T> Sync for NaturalGradientOptimizer<T>where
T: Sync,
impl<T> Unpin for NaturalGradientOptimizer<T>where
T: Unpin,
impl<T> UnwindSafe for NaturalGradientOptimizer<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more