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

55
Established
2 google/tangent

Source-to-Source Debuggable Derivatives in Pure Python

43
Emerging
3 pranftw/neograd

A deep learning framework created from scratch with Python and NumPy

40
Emerging
4 ahrefs/ocannl

OCANNL: OCaml Compiles Algorithms for Neural Networks Learning

40
Emerging
5 yoshoku/numo-openblas

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

39
Emerging
6 statusfailed/catgrad

a categorical deep learning compiler

38
Emerging
7 mstksg/backprop

Heterogeneous automatic differentiation ("backpropagation") in Haskell

36
Emerging
8 yoshoku/numo-blis

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

34
Emerging
9 LaurentMazare/ocaml-torch

OCaml bindings for PyTorch

34
Emerging
10 Habrador/MicrogradCSharp

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

33
Emerging
11 pedrogleta/microgradts

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

33
Emerging
12 trekhleb/micrograd-ts

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

31
Emerging
13 crystal-data/num.cr

Scientific computing in pure Crystal

31
Emerging
14 ggsharma/microgradpp

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

30
Emerging
15 ZigaSajovic/dCpp

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

30
Emerging
16 lipeeeee/monograd

Tensors and Dynamic neural networks in Python

29
Experimental
17 dmaivel/cugrad

An automatic differentiation library written in C++ and CUDA

28
Experimental
18 DACUS1995/gradflow

A small, educational autograd system with deep neural networks support

28
Experimental
19 tanaymeh/nadl

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

27
Experimental
20 rjkilpatrick/dlearn

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

27
Experimental
21 eduardoleao052/Autograd-from-scratch

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

26
Experimental
22 nicolamaritan/cgrad

Deep Learning library for the C programming language.

25
Experimental
23 CMU-IDeeL/new_grad

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

25
Experimental
24 MiquelNasarre/macrograd

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

24
Experimental
25 SwiftAutograd/SwiftGrad

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

24
Experimental
26 ameritusweb/ParallelReverseAutoDiff

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

24
Experimental
27 ocramz/ad-delcont

Reverse-mode automatic differentiation with delimited continuations

24
Experimental
28 KyleCr4ne/autograd

Auto differentiation engine core [C++]

24
Experimental
29 noway/yagrad

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

23
Experimental
30 cloudkj/lambda-autodiff

A library for automatic differentiation in Clojure

23
Experimental
31 Ruhaan838/CGrad

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

22
Experimental
32 hikettei/cl-waffe

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

22
Experimental
33 boosterrr008/AutoGrad-Engine

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

22
Experimental
34 b-ionut-r/neurograd

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

22
Experimental
35 can-lehmann/exprgrad

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

21
Experimental
36 SermetPekin/microgradCpp

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

21
Experimental
37 eliben/radgrad

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

20
Experimental
38 Samanvith1404/MicroGNN

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

19
Experimental
39 save-buffer/gigagrad

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

19
Experimental
40 gn0rrbitberrenbur/yasae

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

19
Experimental
41 iraikov/nanograd

Minimalistic automatic differentiation framework in Scheme

19
Experimental
42 shettysach/ferrograd

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

17
Experimental
43 pit-ray/vim-autograd

Automatic differentiation library written in pure Vim script.

16
Experimental
44 Leonardo16AM/Sharp-Grad

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

16
Experimental
45 Anri-Lombard/micrograd

Building Andrej Kapathy's micrograd from scratch

16
Experimental
46 load1n9/denograd

pytorch's autograd deno implementation

16
Experimental
47 tbox98/freegrad

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

15
Experimental
48 khisr0w/grazie

Pure C tensor and autograd library for training neural networks

14
Experimental
49 Shrimp-AI/shrimpgrad

Yet another tensor library

14
Experimental
50 marfvr/micrograd-js

A porting of Karpathy's Micrograd to JS

13
Experimental
51 luigi-ga/gradients_without_backpropagation

Unofficial implementation of the paper "gradients without backpropagation"

13
Experimental
52 fszewczyk/shkyera-grad

micrograd, but in C++ and better

13
Experimental
53 Ruhaan838/AnyGrad

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

12
Experimental
54 ANSHAM1/RADE

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

12
Experimental
55 Shubbair/MicroGrad-JS

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

11
Experimental
56 slamko/ocadl

Blazingly type safe GPU accelerated Multi-Layer Perceptron

11
Experimental
57 Marviel/lab-grad

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

11
Experimental
58 mcemilg/minigrad.hpp

A minimal autograd lib in c++ std.

11
Experimental
59 DevangK18/Foundry

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

11
Experimental
60 MichaelRinger/micrograd-php

Micrograd implementation in PHP.

11
Experimental
61 ArulselvanMadhavan/mini_dalle

mini-dalle in OCaml

11
Experimental
62 nithinbekal/micrograd

A tiny autograd engine in ruby

11
Experimental
63 tensorworksio/cgrad

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

10
Experimental
64 stefanasandei/tiny-autograd

small autograd engine built from scratch in modern C++

10
Experimental