/teenygrad

If tinygrad wasn't small enough for you...

Primary LanguagePythonMIT LicenseMIT

teenygrad is <1000 line MNIST trainer

It shares 90% of its code with tinygrad,
so understanding teenygrad is a good step to understanding tinygrad.

While it supports almost all of tinygrad's functionality,
the extra 4k lines in tinygrad get you speed and diverse backend support.

tensor.py and mlops.py are both tinygrad's and teenygrad's frontend.
lazy.py is a replacement for all of tinygrad's backend.

The only dependency of teenygrad is numpy (well, and tqdm)

Usage:
pip install numpy tqdm
PYTHONPATH="." python mnist.py