pub enum Optimizer {
GradientDescent {
learning_rate: f64,
},
Adam {
learning_rate: f64,
beta1: f64,
beta2: f64,
epsilon: f64,
},
SPSA {
learning_rate: f64,
perturbation: f64,
},
SciRS2 {
method: String,
config: HashMap<String, f64>,
},
}Expand description
Optimizer for quantum machine learning models
Variants§
GradientDescent
Gradient descent
Adam
Adam optimizer
Fields
SPSA
SPSA optimizer
SciRS2
SciRS2-based optimizers (placeholder for integration)
Implementations§
Source§impl Optimizer
impl Optimizer
Sourcepub fn new(method: OptimizationMethod) -> Self
pub fn new(method: OptimizationMethod) -> Self
Creates a new optimizer with default parameters
Sourcepub fn update_parameters(
&self,
parameters: &mut Array1<f64>,
gradients: &ArrayView1<'_, f64>,
iteration: usize,
) -> Result<()>
pub fn update_parameters( &self, parameters: &mut Array1<f64>, gradients: &ArrayView1<'_, f64>, iteration: usize, ) -> Result<()>
Updates parameters based on gradients
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Optimizer
impl RefUnwindSafe for Optimizer
impl Send for Optimizer
impl Sync for Optimizer
impl Unpin for Optimizer
impl UnwindSafe for Optimizer
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.