/// Module containing optim traits and implementations for machine learning models.
use crateModelError;
use crateOptimizableModel;
/// The `Optimizer` trait defines the interface for optim algorithms.
///
/// Implementations of this trait can be used to train machine learning models
/// that conform to the `OptimizableModel` trait. Different optim strategies
/// can be implemented to find optimal parameters for a given model.
///
/// # Type Parameters
///
/// * `Input` - The type of input data used to train the model
/// * `Output` - The type of output data that the model produces