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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyfit-0.1.2.tar.gz.
File metadata
- Download URL: pyfit-0.1.2.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edb1ba79e59a0214a1c1cf16b0a500bf3076ff6114aa29ee4bb712b212e1a560
|
|
| MD5 |
5d544c6020a83f371000585ebbcaeb12
|
|
| BLAKE2b-256 |
3f6747c02576cff5aaa16367cac482abf0e648f53ec54eb72f34bfd70a7c0030
|
File details
Details for the file pyfit-0.1.2-py3-none-any.whl.
File metadata
- Download URL: pyfit-0.1.2-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
258318fa525a83aec08b0a4353ab65b82ab9cf641a80f81a783dedeff8f808e9
|
|
| MD5 |
d91803834515db9f9d6367ddd2350648
|
|
| BLAKE2b-256 |
ee2578a2af8001760733f2df2ca9eef5dee811f1a3fa4d6c0694483787852f93
|