Skip to main content

A simple Machine Learning library

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.0.tar.gz (5.3 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.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyfit-0.1.0.tar.gz
  • Upload date:
  • Size: 5.3 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.0.tar.gz
Algorithm Hash digest
SHA256 47fca7fc204582749b8bbdc42a54675093a57f6c894eb8bbe5630215b0976578
MD5 c5d4de8947c7b4a926ff231dd0efbe5d
BLAKE2b-256 7ed67c9f76411293681fc4165765a0b9a5e8b9285b55c74af5cb5483d57ded65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyfit-0.1.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 db8d8b1028c37cf2977fdc3548b278036b4413fa5e97b50c8274f430b9cd6bc7
MD5 4f7019219468fe1653e51192cebe0b39
BLAKE2b-256 6dd6d622f9961e9ebecee61a240506b23d5cf8a56cbb167425ed58bb951aaa20

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