pub(crate) fn add_solver<Framework: IFramework + 'static>(
    backend: Rc<Backend<Framework>>,
    net_cfg: SequentialConfig,
    batch_size: usize,
    learning_rate: f32,
    momentum: f32
) -> Solver<Backend<Framework>, Backend<Framework>>
where Backend<Framework>: IBackend + SolverOps<f32> + LayerOps<f32>,