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 70 minimal autograd engines frameworks tracked. 2 score above 50 (established tier). The highest-rated is JonathanRaiman/theano_lstm at 59/100 with 303 stars.

Get all 70 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

59
Established
2 google/tangent

Source-to-Source Debuggable Derivatives in Pure Python

50
Established
3 ahrefs/ocannl

OCANNL: OCaml Compiles Algorithms for Neural Networks Learning

47
Emerging
4 yoshoku/numo-openblas

Numo::OpenBLAS builds and uses OpenBLAS as a background library for Numo::Linalg

46
Emerging
5 statusfailed/catgrad

a categorical deep learning compiler

45
Emerging
6 pranftw/neograd

A deep learning framework created from scratch with Python and NumPy

44
Emerging
7 mstksg/backprop

Heterogeneous automatic differentiation ("backpropagation") in Haskell

43
Emerging
8 yoshoku/numo-blis

Numo::BLIS builds and uses BLIS as a background library for Numo::Linalg

41
Emerging
9 LaurentMazare/ocaml-torch

OCaml bindings for PyTorch

41
Emerging
10 pedrogleta/microgradts

A tiny Autograd engine based off of Andrej Karpathy's micrograd in Python

40
Emerging
11 crystal-data/num.cr

Scientific computing in pure Crystal

38
Emerging
12 trekhleb/micrograd-ts

🤖 A TypeScript version of karpathy/micrograd — a tiny scalar-valued autograd...

38
Emerging
13 ZigaSajovic/dCpp

Automatic differentiation in C++; infinite differentiability of...

37
Emerging
14 ggsharma/microgradpp

A header-only C++ autograd engine and neural network library inspired by...

37
Emerging
15 dmaivel/cugrad

An automatic differentiation library written in C++ and CUDA

35
Emerging
16 DACUS1995/gradflow

A small, educational autograd system with deep neural networks support

35
Emerging
17 Habrador/MicrogradCSharp

The easiest way to build Neural Networks in C# within Unity. The open-source...

35
Emerging
18 rjkilpatrick/dlearn

High-level Deep learning, Linear algebra and scientific computing package in D

34
Emerging
19 tanaymeh/nadl

A small framework that can perform automatic differentiation to calculate...

34
Emerging
20 eduardoleao052/Autograd-from-scratch

Documented and Unit Tested educational Deep Learning framework with Autograd...

33
Emerging
21 CMU-IDeeL/new_grad

A new lightweight auto-differentation library that directly builds on numpy....

32
Emerging
22 nicolamaritan/cgrad

Deep Learning library for the C programming language.

32
Emerging
23 KyleCr4ne/autograd

Auto differentiation engine core [C++]

31
Emerging
24 ocramz/ad-delcont

Reverse-mode automatic differentiation with delimited continuations

31
Emerging
25 ameritusweb/ParallelReverseAutoDiff

Parallel Reverse Mode Automatic Differentiation in C# for Custom Neural...

31
Emerging
26 noway/yagrad

yet another scalar autograd engine - featuring complex numbers and fixed DAG

30
Emerging
27 lipeeeee/monograd

Tensors and Dynamic neural networks in Python

30
Emerging
28 hikettei/cl-waffe

[Deprecated] Common Lisp Differentiable Matrix Operations for Mathematical...

29
Experimental
29 b-ionut-r/neurograd

A Pure Python Deep Learning Framework with Automatic Differentiation and...

28
Experimental
30 can-lehmann/exprgrad

An experimental deep learning framework for Nim based on a differentiable...

28
Experimental
31 cloudkj/lambda-autodiff

A library for automatic differentiation in Clojure

27
Experimental
32 eliben/radgrad

Tracing-based reverse mode automatic differentiation (like autograd!)

27
Experimental
33 MiquelNasarre/macrograd

Macrograd ― CUDA/C++ autograd tensor library. Inspired by micrograd. Used to...

26
Experimental
34 Ruhaan838/CGrad

If you like Pytorch, if you like C, you Love CGrad

26
Experimental
35 save-buffer/gigagrad

A small deep learning library that goes gigafast (not yet though).

26
Experimental
36 SermetPekin/microgradCpp

MicrogradCPP: A tiny micrograd, inspired by Karpathy's micrograd in python

24
Experimental
37 SwiftAutograd/SwiftGrad

A tiny autograd engine and neural network library in Swift. Inspired by...

24
Experimental
38 shettysach/ferrograd

Small scalar autograd engine, inspired from Karpathy's micrograd, with some...

24
Experimental
39 pit-ray/vim-autograd

Automatic differentiation library written in pure Vim script.

23
Experimental
40 Leonardo16AM/Sharp-Grad

Sharp Grad is a lightweight automatic differentiation library in C#. It's...

23
Experimental
41 Samanvith1404/MicroGNN

A tiny Graph Neural Network framework built from scratch with a minimal...

23
Experimental
42 Anri-Lombard/micrograd

Building Andrej Kapathy's micrograd from scratch

23
Experimental
43 load1n9/denograd

pytorch's autograd deno implementation

23
Experimental
44 khisr0w/grazie

Pure C tensor and autograd library for training neural networks

21
Experimental
45 boosterrr008/AutoGrad-Engine

🤖 Implement a pure C# GPT language model for training and inference with no...

21
Experimental
46 Shrimp-AI/shrimpgrad

Yet another tensor library

21
Experimental
47 iraikov/nanograd

Minimalistic automatic differentiation framework in Scheme

21
Experimental
48 fszewczyk/shkyera-grad

micrograd, but in C++ and better

20
Experimental
49 marfvr/micrograd-js

A porting of Karpathy's Micrograd to JS

20
Experimental
50 luigi-ga/gradients_without_backpropagation

Unofficial implementation of the paper "gradients without backpropagation"

20
Experimental
51 gn0rrbitberrenbur/yasae

Educational Scalar-Based Autograd Engine in C++ with Python Bindings

19
Experimental
52 Ruhaan838/AnyGrad

A Tensor module that allows a deep learning framework to switch seamlessly...

19
Experimental
53 nithinbekal/micrograd

A tiny autograd engine in ruby

18
Experimental
54 ANSHAM1/RADE

RADE is a from-scratch reverse-mode automatic differentiation engine written...

18
Experimental
55 slamko/ocadl

Blazingly type safe GPU accelerated Multi-Layer Perceptron

18
Experimental
56 ArulselvanMadhavan/mini_dalle

mini-dalle in OCaml

18
Experimental
57 mcemilg/minigrad.hpp

A minimal autograd lib in c++ std.

18
Experimental
58 Marviel/lab-grad

An Automated Differentiation library (like Pytorch🔥) in Typescript, for...

18
Experimental
59 MichaelRinger/micrograd-php

Micrograd implementation in PHP.

18
Experimental
60 tbox98/freegrad

PyTorch extension for alternative backward rules and gradient transforms...

17
Experimental
61 stefanasandei/tiny-autograd

small autograd engine built from scratch in modern C++

17
Experimental
62 tensorworksio/cgrad

Intended to be a Torch-like autograd engine, inspired by micrograd

17
Experimental
63 jewelltaylor/camlgrad

Toy autograd engine in OCaml with Apple Accelerate backend

15
Experimental
64 Shubbair/MicroGrad-JS

making MicroGrad with Javascript & Interactive Website to show Realtime...

13
Experimental
65 mohamedrxo/simplegrad

SimpleGrad – a minimal NumPy-based autograd and neural network framework for...

13
Experimental
66 GravermanDev/made_with_tinygrad

Models and papers implemented in Tinygrad

11
Experimental
67 szaman19/Delta

A templated extendible modular automatic gradient and neural network library in C++

11
Experimental
68 DevangK18/Foundry

A deep learning framework built from scratch in Python and NumPy to...

11
Experimental
69 sriom1/micrograd

This is an implementation of a simple autograd engine and neural network...

10
Experimental
70 Muawiya-contact/-micrograd-mini

# The is a micrograd-mini. Inspired by Andrej Karpathy.

10
Experimental