pub trait OptimizerPluginFactory<A: Float>:
Debug
+ Send
+ Sync {
// Required methods
fn create_optimizer(
&self,
config: OptimizerConfig,
) -> Result<Box<dyn OptimizerPlugin<A>>>;
fn factory_info(&self) -> PluginInfo;
fn validate_config(&self, config: &OptimizerConfig) -> Result<()>;
fn default_config(&self) -> OptimizerConfig;
fn config_schema(&self) -> ConfigSchema;
}Expand description
Plugin factory trait for creating optimizer instances
Required Methods§
Sourcefn create_optimizer(
&self,
config: OptimizerConfig,
) -> Result<Box<dyn OptimizerPlugin<A>>>
fn create_optimizer( &self, config: OptimizerConfig, ) -> Result<Box<dyn OptimizerPlugin<A>>>
Create a new optimizer instance
Sourcefn factory_info(&self) -> PluginInfo
fn factory_info(&self) -> PluginInfo
Get factory information
Sourcefn validate_config(&self, config: &OptimizerConfig) -> Result<()>
fn validate_config(&self, config: &OptimizerConfig) -> Result<()>
Validate configuration
Sourcefn default_config(&self) -> OptimizerConfig
fn default_config(&self) -> OptimizerConfig
Get default configuration
Sourcefn config_schema(&self) -> ConfigSchema
fn config_schema(&self) -> ConfigSchema
Get configuration schema