pub trait OptimizerPlugin<A: Float>:
Debug
+ Send
+ Sync {
Show 14 methods
// Required methods
fn step(
&mut self,
params: &Array1<A>,
gradients: &Array1<A>,
) -> Result<Array1<A>>;
fn name(&self) -> &str;
fn version(&self) -> &str;
fn plugin_info(&self) -> PluginInfo;
fn capabilities(&self) -> PluginCapabilities;
fn initialize(&mut self, paramshape: &[usize]) -> Result<()>;
fn reset(&mut self) -> Result<()>;
fn get_config(&self) -> OptimizerConfig;
fn set_config(&mut self, config: OptimizerConfig) -> Result<()>;
fn get_state(&self) -> Result<OptimizerState>;
fn set_state(&mut self, state: OptimizerState) -> Result<()>;
fn clone_plugin(&self) -> Box<dyn OptimizerPlugin<A>>;
// Provided methods
fn memory_usage(&self) -> MemoryUsage { ... }
fn performance_metrics(&self) -> PerformanceMetrics { ... }
}Expand description
Main trait for optimizer plugins
Required Methods§
Sourcefn step(
&mut self,
params: &Array1<A>,
gradients: &Array1<A>,
) -> Result<Array1<A>>
fn step( &mut self, params: &Array1<A>, gradients: &Array1<A>, ) -> Result<Array1<A>>
Perform a single optimization step
Sourcefn plugin_info(&self) -> PluginInfo
fn plugin_info(&self) -> PluginInfo
Get plugin information
Sourcefn capabilities(&self) -> PluginCapabilities
fn capabilities(&self) -> PluginCapabilities
Get optimizer capabilities
Sourcefn initialize(&mut self, paramshape: &[usize]) -> Result<()>
fn initialize(&mut self, paramshape: &[usize]) -> Result<()>
Initialize optimizer with parameters
Sourcefn get_config(&self) -> OptimizerConfig
fn get_config(&self) -> OptimizerConfig
Get optimizer configuration
Sourcefn set_config(&mut self, config: OptimizerConfig) -> Result<()>
fn set_config(&mut self, config: OptimizerConfig) -> Result<()>
Set optimizer configuration
Sourcefn get_state(&self) -> Result<OptimizerState>
fn get_state(&self) -> Result<OptimizerState>
Get optimizer state for serialization
Sourcefn set_state(&mut self, state: OptimizerState) -> Result<()>
fn set_state(&mut self, state: OptimizerState) -> Result<()>
Set optimizer state from deserialization
Sourcefn clone_plugin(&self) -> Box<dyn OptimizerPlugin<A>>
fn clone_plugin(&self) -> Box<dyn OptimizerPlugin<A>>
Clone the optimizer plugin
Provided Methods§
Sourcefn memory_usage(&self) -> MemoryUsage
fn memory_usage(&self) -> MemoryUsage
Get memory usage information
Sourcefn performance_metrics(&self) -> PerformanceMetrics
fn performance_metrics(&self) -> PerformanceMetrics
Get performance metrics