A minimalist neural networks library built on a tiny autograd engine
Project description
pyfit
pyfit is a minimalist neural networks library written from scratch in Python for educational purposes.
Overview
This project aims to:
- demonstrate automatic differentiation, a core concept of modern Deep Learning frameworks like PyTorch and TensorFlow;
- define a simple API for training neural nets, somehow mimicking PyTorch Ignite and Keras;
- follow good coding practices, including type annotations and unit tests.
This material is used in the Machine Learning course taught at ENSC. ENSEIRB-MATMECA and IOGS. See also Acknowledgments.
Demonstration
The demo notebook showcases what pyfit is all about.
Features
- Autograd engine [ source | tests ]
- Neural networks API [ source | tests ]
- Metrics [ source | tests ]
- Optimizers [ source | tests ]
- Data utilities [ source | tests ]
- Training API [ source | tests ]
Development Notes
Checking the code
pyfit uses the following tools:
Run the following commands in project root folder to check the codebase.
> python -m pylint ./pyfit # linting (including type checks)
> python -m mypy . # type checks only
> python -m pytest # test suite
Uploading the package to PyPI
> python setup.py sdist bdist_wheel
> python -m twine upload dist/* --skip-existing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pyfit-0.1.2.tar.gz
(7.2 kB
view hashes)
Built Distribution
pyfit-0.1.2-py3-none-any.whl
(21.5 kB
view hashes)