Project Roadmap
This roadmap outlines the planned improvements and features for mp-neural-network.
Note: This roadmap is being progressively migrated to our GitHub Project. Please refer to the project board for the most up-to-date planning and status.
Upcoming Features
- RNN/LSTM Layers: Support for sequential data.
- Channels last optimization: Optimize convolutional layers for channels_last format.
- Advanced Schedulers: Implement Learning Rate Schedulers (ReduceLROnPlateau, CosineAnnealing).
- Data Loaders: Create a generator-based
DataLoaderfor training on datasets larger than RAM (or VRAM). - Stable parameter identification system: Remove dependency on
id(param)for tracking optimizer states (moments/velocities), implement a more robust approach (e.g., persistent UUIDs or structured naming). - Explicit Shape Checking: Add clear error messages when connecting incompatible layers
Completed Features
v1.1
- GPU Acceleration: Explore optional CuPy backend for NVIDIA GPU support.
- Advanced Documentation: Add Google-style docstrings to all public classes
- CNN Padding and strides: Support for padding and strides in convolutional layers.
- Softmax temperature: Support for temperature scaling in softmax.
v1.0
- Float32 Transition: Global
DTYPE = np.float32enforced to reduce RAM by ~50%. - In-Place Operations: Eliminated redundant copies in
train,predict, andevaluate. - Optimized Shuffle: Shuffling indices instead of copying the full dataset.
- Lazy Metrics: Metrics are computed only when necessary, speeding up training.
- Batch Vectorization
- Numerical Stability Fixes (Logits)
- Advanced Optimizers: Adam, RMSprop, SGD Momentum.
- Smart Initialization: Auto He/Xavier.
- Regularization: Dropout Layer & L1/L2 Weight Decay.
- Convolutional Layers: Conv2D implementation with
im2col. - Model Serialization: Saving/Loading weights to JSON/Pickle.
- Training Utils: Early Stopping, Checkpointing, Auto-Metrics.
- Pooling Layers: MaxPool / AvgPool.
- BatchNormalization: 1D (Dense) and 2D (Spatial/CNN).
- Memory Optimization: In-place operations, reduced copies, global float32.
- Performance Boost: Training loop optimization (index shuffling) and type enforcement (~26% speedup).