pub trait QMLOptimizer: Send + Sync {
// Required methods
fn compute_gradients(
&self,
model: &QMLModel,
data: &QMLDataBatch,
) -> DeviceResult<Array1<f64>>;
fn update_parameters(
&mut self,
model: &mut QMLModel,
gradients: &Array1<f64>,
) -> DeviceResult<()>;
fn get_state(&self) -> OptimizerState;
fn set_state(&mut self, state: OptimizerState) -> DeviceResult<()>;
}Expand description
QML optimizer trait
Required Methods§
Sourcefn compute_gradients(
&self,
model: &QMLModel,
data: &QMLDataBatch,
) -> DeviceResult<Array1<f64>>
fn compute_gradients( &self, model: &QMLModel, data: &QMLDataBatch, ) -> DeviceResult<Array1<f64>>
Compute gradients
Sourcefn update_parameters(
&mut self,
model: &mut QMLModel,
gradients: &Array1<f64>,
) -> DeviceResult<()>
fn update_parameters( &mut self, model: &mut QMLModel, gradients: &Array1<f64>, ) -> DeviceResult<()>
Update parameters
Sourcefn get_state(&self) -> OptimizerState
fn get_state(&self) -> OptimizerState
Get optimizer state
Sourcefn set_state(&mut self, state: OptimizerState) -> DeviceResult<()>
fn set_state(&mut self, state: OptimizerState) -> DeviceResult<()>
Set optimizer state