Minimal Autograd Engines ML Frameworks
Educational implementations of automatic differentiation and backpropagation from scratch in various programming languages. Includes tiny scalar-valued autograd libraries and their neural network extensions. Does NOT include full-featured ML frameworks, bindings to existing libraries, or specialized autodiff systems (like AD for specific domains).
There are 64 minimal autograd engines frameworks tracked. 1 score above 50 (established tier). The highest-rated is JonathanRaiman/theano_lstm at 55/100 with 303 stars and 27 monthly downloads.
Get all 64 projects as JSON
curl "https://pt-edge.onrender.com/api/v1/datasets/quality?domain=ml-frameworks&subcategory=minimal-autograd-engines&limit=20"
Open to everyone — 100 requests/day, no key needed. Get a free key for 1,000/day.
| # | Framework | Score | Tier |
|---|---|---|---|
| 1 |
JonathanRaiman/theano_lstm
:microscope: Nano size Theano LSTM module |
|
Established |
| 2 |
google/tangent
Source-to-Source Debuggable Derivatives in Pure Python |
|
Emerging |
| 3 |
pranftw/neograd
A deep learning framework created from scratch with Python and NumPy |
|
Emerging |
| 4 |
ahrefs/ocannl
OCANNL: OCaml Compiles Algorithms for Neural Networks Learning |
|
Emerging |
| 5 |
yoshoku/numo-openblas
Numo::OpenBLAS builds and uses OpenBLAS as a background library for Numo::Linalg |
|
Emerging |
| 6 |
statusfailed/catgrad
a categorical deep learning compiler |
|
Emerging |
| 7 |
mstksg/backprop
Heterogeneous automatic differentiation ("backpropagation") in Haskell |
|
Emerging |
| 8 |
yoshoku/numo-blis
Numo::BLIS builds and uses BLIS as a background library for Numo::Linalg |
|
Emerging |
| 9 |
LaurentMazare/ocaml-torch
OCaml bindings for PyTorch |
|
Emerging |
| 10 |
Habrador/MicrogradCSharp
The easiest way to build Neural Networks in C# within Unity. The open-source... |
|
Emerging |
| 11 |
pedrogleta/microgradts
A tiny Autograd engine based off of Andrej Karpathy's micrograd in Python |
|
Emerging |
| 12 |
trekhleb/micrograd-ts
🤖 A TypeScript version of karpathy/micrograd — a tiny scalar-valued autograd... |
|
Emerging |
| 13 |
crystal-data/num.cr
Scientific computing in pure Crystal |
|
Emerging |
| 14 |
ggsharma/microgradpp
A header-only C++ autograd engine and neural network library inspired by... |
|
Emerging |
| 15 |
ZigaSajovic/dCpp
Automatic differentiation in C++; infinite differentiability of... |
|
Emerging |
| 16 |
lipeeeee/monograd
Tensors and Dynamic neural networks in Python |
|
Experimental |
| 17 |
dmaivel/cugrad
An automatic differentiation library written in C++ and CUDA |
|
Experimental |
| 18 |
DACUS1995/gradflow
A small, educational autograd system with deep neural networks support |
|
Experimental |
| 19 |
tanaymeh/nadl
A small framework that can perform automatic differentiation to calculate... |
|
Experimental |
| 20 |
rjkilpatrick/dlearn
High-level Deep learning, Linear algebra and scientific computing package in D |
|
Experimental |
| 21 |
eduardoleao052/Autograd-from-scratch
Documented and Unit Tested educational Deep Learning framework with Autograd... |
|
Experimental |
| 22 |
nicolamaritan/cgrad
Deep Learning library for the C programming language. |
|
Experimental |
| 23 |
CMU-IDeeL/new_grad
A new lightweight auto-differentation library that directly builds on numpy.... |
|
Experimental |
| 24 |
MiquelNasarre/macrograd
Macrograd ― CUDA/C++ autograd tensor library. Inspired by micrograd. Used to... |
|
Experimental |
| 25 |
SwiftAutograd/SwiftGrad
A tiny autograd engine and neural network library in Swift. Inspired by... |
|
Experimental |
| 26 |
ameritusweb/ParallelReverseAutoDiff
Parallel Reverse Mode Automatic Differentiation in C# for Custom Neural... |
|
Experimental |
| 27 |
ocramz/ad-delcont
Reverse-mode automatic differentiation with delimited continuations |
|
Experimental |
| 28 |
KyleCr4ne/autograd
Auto differentiation engine core [C++] |
|
Experimental |
| 29 |
noway/yagrad
yet another scalar autograd engine - featuring complex numbers and fixed DAG |
|
Experimental |
| 30 |
cloudkj/lambda-autodiff
A library for automatic differentiation in Clojure |
|
Experimental |
| 31 |
Ruhaan838/CGrad
If you like Pytorch, if you like C, you Love CGrad |
|
Experimental |
| 32 |
hikettei/cl-waffe
[Deprecated] Common Lisp Differentiable Matrix Operations for Mathematical... |
|
Experimental |
| 33 |
boosterrr008/AutoGrad-Engine
🤖 Implement a pure C# GPT language model for training and inference with no... |
|
Experimental |
| 34 |
b-ionut-r/neurograd
A Pure Python Deep Learning Framework with Automatic Differentiation and... |
|
Experimental |
| 35 |
can-lehmann/exprgrad
An experimental deep learning framework for Nim based on a differentiable... |
|
Experimental |
| 36 |
SermetPekin/microgradCpp
MicrogradCPP: A tiny micrograd, inspired by Karpathy's micrograd in python |
|
Experimental |
| 37 |
eliben/radgrad
Tracing-based reverse mode automatic differentiation (like autograd!) |
|
Experimental |
| 38 |
Samanvith1404/MicroGNN
A tiny Graph Neural Network framework built from scratch with a minimal... |
|
Experimental |
| 39 |
save-buffer/gigagrad
A small deep learning library that goes gigafast (not yet though). |
|
Experimental |
| 40 |
gn0rrbitberrenbur/yasae
Educational Scalar-Based Autograd Engine in C++ with Python Bindings |
|
Experimental |
| 41 |
iraikov/nanograd
Minimalistic automatic differentiation framework in Scheme |
|
Experimental |
| 42 |
shettysach/ferrograd
Small scalar autograd engine, inspired from Karpathy's micrograd, with some... |
|
Experimental |
| 43 |
pit-ray/vim-autograd
Automatic differentiation library written in pure Vim script. |
|
Experimental |
| 44 |
Leonardo16AM/Sharp-Grad
Sharp Grad is a lightweight automatic differentiation library in C#. It's... |
|
Experimental |
| 45 |
Anri-Lombard/micrograd
Building Andrej Kapathy's micrograd from scratch |
|
Experimental |
| 46 |
load1n9/denograd
pytorch's autograd deno implementation |
|
Experimental |
| 47 |
tbox98/freegrad
PyTorch extension for alternative backward rules and gradient transforms... |
|
Experimental |
| 48 |
khisr0w/grazie
Pure C tensor and autograd library for training neural networks |
|
Experimental |
| 49 |
Shrimp-AI/shrimpgrad
Yet another tensor library |
|
Experimental |
| 50 |
marfvr/micrograd-js
A porting of Karpathy's Micrograd to JS |
|
Experimental |
| 51 |
luigi-ga/gradients_without_backpropagation
Unofficial implementation of the paper "gradients without backpropagation" |
|
Experimental |
| 52 |
fszewczyk/shkyera-grad
micrograd, but in C++ and better |
|
Experimental |
| 53 |
Ruhaan838/AnyGrad
A Tensor module that allows a deep learning framework to switch seamlessly... |
|
Experimental |
| 54 |
ANSHAM1/RADE
RADE is a from-scratch reverse-mode automatic differentiation engine written... |
|
Experimental |
| 55 |
Shubbair/MicroGrad-JS
making MicroGrad with Javascript & Interactive Website to show Realtime... |
|
Experimental |
| 56 |
slamko/ocadl
Blazingly type safe GPU accelerated Multi-Layer Perceptron |
|
Experimental |
| 57 |
Marviel/lab-grad
An Automated Differentiation library (like Pytorch🔥) in Typescript, for... |
|
Experimental |
| 58 |
mcemilg/minigrad.hpp
A minimal autograd lib in c++ std. |
|
Experimental |
| 59 |
DevangK18/Foundry
A deep learning framework built from scratch in Python and NumPy to... |
|
Experimental |
| 60 |
MichaelRinger/micrograd-php
Micrograd implementation in PHP. |
|
Experimental |
| 61 |
ArulselvanMadhavan/mini_dalle
mini-dalle in OCaml |
|
Experimental |
| 62 |
nithinbekal/micrograd
A tiny autograd engine in ruby |
|
Experimental |
| 63 |
tensorworksio/cgrad
Intended to be a Torch-like autograd engine, inspired by micrograd |
|
Experimental |
| 64 |
stefanasandei/tiny-autograd
small autograd engine built from scratch in modern C++ |
|
Experimental |