A minimalist neural networks library built on a tiny autograd engine
pyfit is a minimalist neural networks library written from scratch in Python for educational purposes.
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.
The demo notebook showcases what pyfit is all about.
- Autograd engine [ source | tests ]
- Neural networks API [ source | tests ]
- Metrics [ source | tests ]
- Optimizers [ source | tests ]
- Data utilities [ source | tests ]
- Training API [ source | tests ]
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
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.