A minimalist neural networks library built on a tiny autograd engine
Project description
pyfit
A minimalist neural networks library built on a tiny autograd engine. Very much inspired by the micrograd library created by Andrej Karpathy.
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 Keras and PyTorch Ignite;
- follow good coding practices, including type annotations and unit tests.
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 tests # 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-1.0.1.tar.gz
(5.7 kB
view hashes)
Built Distribution
pyfit-1.0.1-py3-none-any.whl
(7.5 kB
view hashes)