Trait juice::solver::ISolver

source ·
pub trait ISolver<SolverB, B>
where B: IBackend + LayerOps<f32>, SolverB: IBackend + SolverOps<f32>,
{ // Required methods fn compute_update( &mut self, param: &SolverConfig, network: &mut Layer<B>, iter: usize ); fn backend(&self) -> &SolverB; // Provided method fn init(&mut self, net: &Layer<B>) { ... } }
Expand description

Implementation of a specific Solver.

See [Solvers][1] [1]: ../solvers/index.html

Required Methods§

source

fn compute_update( &mut self, param: &SolverConfig, network: &mut Layer<B>, iter: usize )

Update the weights of the net with part of the gradient.

The second phase of backpropagation learning. Calculates the gradient update that should be applied to the network, and then applies that gradient to the network, changing its weights.

Used by step to optimize the network.

source

fn backend(&self) -> &SolverB

Returns the backend used by the solver.

Provided Methods§

source

fn init(&mut self, net: &Layer<B>)

Initialize the solver, setting up any network related data.

Trait Implementations§

source§

impl<SolverB, B: IBackend + LayerOps<f32>> Debug for dyn ISolver<SolverB, B>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Implementors§

source§

impl<SolverB: IBackend + SolverOps<f32>, NetB: IBackend + LayerOps<f32> + 'static> ISolver<SolverB, NetB> for Momentum<SolverB>