Thanks for your interest in this project. This is primarily a learning project — a neural network library built from scratch using only NumPy — but contributions are welcome.
- Bug fixes (incorrect gradients, shape mismatches, numerical instability)
- New layer types (e.g. LSTM, embedding, attention)
- New examples that demonstrate existing functionality
- Documentation improvements
- Adding framework dependencies (PyTorch, TensorFlow, JAX) — the point is pure NumPy
- Rewriting working code for style preferences
- Large refactors without discussion first
- Fork the repo and create a branch from
main - Make your changes
- Test that existing examples still run (
python examples/xor_example.py,python examples/cnn_mnist_demo.py) - Open a pull request with a clear description of what you changed and why
If you add a new layer, verify its backward pass with the numerical gradient checker:
python examples/gradient_check.pyRelative error should stay below 1e-4.
Open an issue — happy to discuss ideas before you spend time building them.