A simple Machine Learning library
Project description
pyfit
pyfit is a minimalist neural networks library written from scratch in Python for educational purposes.
Overview
This project aims to:
- help Machine Learning students and enthusiasts get a deeper understanding of neural networks ;
- demonstrate automatic differentiation, a core concept of modern Deep Learning frameworks like PyTorch and TensorFlow ;
- define a clean, pythonic API and 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
See the demo notebook.
Features
- Autograd [ source | tests ]
- Neural Networks API [ source | tests (soon!) ]
- Losses [ source | tests ]
- Optimizers [ source | tests (soon!) ]
- Data Utilities [ source | tests (soon!) ]
- Metrics (soon!)
- Training (soon!)
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.0.tar.gz
(5.3 kB
view hashes)
Built Distribution
pyfit-0.1.0-py3-none-any.whl
(17.7 kB
view hashes)