pub struct ComposedOptimizer { /* private fields */ }Expand description
Composed optimizer that combines multiple optimizers
Implementations§
Source§impl ComposedOptimizer
impl ComposedOptimizer
pub fn new(strategy: CompositionStrategy) -> Self
Sourcepub fn add_optimizer(&mut self, name: String, optimizer: Box<dyn Optimizer>)
pub fn add_optimizer(&mut self, name: String, optimizer: Box<dyn Optimizer>)
Add an optimizer to the composition
Sourcepub fn remove_optimizer(&mut self, name: &str) -> Option<Box<dyn Optimizer>>
pub fn remove_optimizer(&mut self, name: &str) -> Option<Box<dyn Optimizer>>
Remove an optimizer from the composition
Sourcepub fn active_optimizers(&self) -> Vec<&str>
pub fn active_optimizers(&self) -> Vec<&str>
Get current active optimizers
Sourcepub fn update_metrics(
&mut self,
optimizer_name: &str,
loss: f32,
gradient_norm: f32,
update_magnitude: f32,
)
pub fn update_metrics( &mut self, optimizer_name: &str, loss: f32, gradient_norm: f32, update_magnitude: f32, )
Update optimizer metrics
Sourcepub fn get_metrics(&self, optimizer_name: &str) -> Option<&OptimizerMetrics>
pub fn get_metrics(&self, optimizer_name: &str) -> Option<&OptimizerMetrics>
Get performance metrics for an optimizer
Sourcepub fn best_optimizer(&self) -> Option<&str>
pub fn best_optimizer(&self) -> Option<&str>
Get the best performing optimizer based on metrics
Trait Implementations§
Source§impl Optimizer for ComposedOptimizer
impl Optimizer for ComposedOptimizer
Source§fn step(&mut self) -> OptimizerResult<()>
fn step(&mut self) -> OptimizerResult<()>
Perform a single optimization step
Source§fn add_param_group(
&mut self,
params: Vec<Arc<RwLock<Tensor>>>,
options: HashMap<String, f32>,
)
fn add_param_group( &mut self, params: Vec<Arc<RwLock<Tensor>>>, options: HashMap<String, f32>, )
Add a parameter group
Source§fn parameters(&self) -> Vec<Arc<RwLock<Tensor>>>
fn parameters(&self) -> Vec<Arc<RwLock<Tensor>>>
Get the parameter tensors managed by this optimizer. Read more
Source§fn state_dict(&self) -> OptimizerResult<OptimizerState>
fn state_dict(&self) -> OptimizerResult<OptimizerState>
Get state dict for serialization
Source§fn load_state_dict(&mut self, state: OptimizerState) -> OptimizerResult<()>
fn load_state_dict(&mut self, state: OptimizerState) -> OptimizerResult<()>
Load state dict
Auto Trait Implementations§
impl !RefUnwindSafe for ComposedOptimizer
impl !Send for ComposedOptimizer
impl !Sync for ComposedOptimizer
impl !UnwindSafe for ComposedOptimizer
impl Freeze for ComposedOptimizer
impl Unpin for ComposedOptimizer
impl UnsafeUnpin for ComposedOptimizer
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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<O> OptimizerExt for Owhere
O: Optimizer,
impl<O> OptimizerExt for Owhere
O: Optimizer,
Source§fn distributed(
self,
config: DistributedConfig,
) -> OptimizerResult<DistributedOptimizer<Self>>
fn distributed( self, config: DistributedConfig, ) -> OptimizerResult<DistributedOptimizer<Self>>
Wrap this optimizer with distributed functionality