Skip to main content

A PyTorch style machine learning framework written in NumPy with GPU acceleration from CuPy.

Reason this release was yanked:

autograd/grad_fn.py is not auto-generated

Project description

PyTortto

This is a pytorch style machine learning framework implemented entirely in numpy, with GPU acceleration from cupy.

Similar to the pokemon "ditto", pytortto works exactly like pytorch, although inferior in terms of speed. The purpose of this project is to understand how deep learning algorithms and frameworks like pytorch work under the hood. Max effort was given to correctness, calculation efficiency (like simpler Jacobian in logsoftmax, efficient implementation of convolution etc.), numerical stability (log-sum-exp used in logsigmoid, BCEWithLogitsLoss etc.), and memory efficiency (implementation of caching, view etc.).

When computed in GPU, Tortto is around 1.5(vision transformers) ~ 3(CNNs) times slower than pytorch. It also achieves the same complexity as pytorch, which means tortto can be used to train relatively larger models such as resnet101 and vision transformer ViT-B/16 with the same speed ratio.

Tortto implements reverse mode automatic differentiation and supports dynamic computation graph like pytorch.

For more information, please visit the github page here

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

tortto-1.3.2.tar.gz (55.3 kB view details)

Uploaded Source

Built Distribution

tortto-1.3.2-py3-none-any.whl (66.2 kB view details)

Uploaded Python 3

File details

Details for the file tortto-1.3.2.tar.gz.

File metadata

  • Download URL: tortto-1.3.2.tar.gz
  • Upload date:
  • Size: 55.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for tortto-1.3.2.tar.gz
Algorithm Hash digest
SHA256 4fab0fb4353e2a406af501581de182e4ea78517310f90d9593e6273646202235
MD5 2534a69db74d97a7082d513628979205
BLAKE2b-256 9c90975cdf412ce97b3983e6e6c6d2f837ff0f90efa39410693469f07ab70565

See more details on using hashes here.

File details

Details for the file tortto-1.3.2-py3-none-any.whl.

File metadata

  • Download URL: tortto-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 66.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.12

File hashes

Hashes for tortto-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ec51218e5a6b317623cb4afe1d789588e2972542d0fd85c56e6b6c2c9e00c7e5
MD5 c93a281ed18fe46a50eb603f07322d10
BLAKE2b-256 052fc0d47b6a49c1bfe941cb53673ca527b37edeefea416830e73f523e9f810c

See more details on using hashes here.

Supported by

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