Skip to main content

A minimalist neural networks library written for educational purposes

Project description

Build Status Python Versions PyPI Version PyPI status Code style: black

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


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.1.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfit-0.1.1-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file pyfit-0.1.1.tar.gz.

File metadata

  • Download URL: pyfit-0.1.1.tar.gz
  • Upload date:
  • Size: 5.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

Hashes for pyfit-0.1.1.tar.gz
Algorithm Hash digest
SHA256 df2521038edf3398352101e8987bd4628e8cb2134c9d37654c7b7561925fc616
MD5 1466c74da1124f34d1a5d88dc00230c5
BLAKE2b-256 de54f0f6a8b2868267099c13028417861f4e489e134245e908b4d566a7d2dfb0

See more details on using hashes here.

File details

Details for the file pyfit-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pyfit-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 17.7 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

Hashes for pyfit-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4943182c87b43d51e8566acd1350b78cf59b396ae104106b1810573235757bed
MD5 f0775bdb3bef744035d4aacb60214382
BLAKE2b-256 ee3cbb8a51b3382ab24da7933698e4e4d2f99e69cb5e31c6f3e951e4266eac83

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page