A desktop app for Windows

Build real models from blocks, train them, and see what they learn.

Every block is real PyTorch code, and it runs on your computer.

See what it does
Windows download coming soon
The model editor. An MNIST model built from Input, Conv2d, ReLU and MaxPool2d blocks, with the Conv2d block selected; below it, the model.py code panel highlights that block's line: self.conv2d_1 = nn.Conv2d(1, 16, kernel_size=3, padding=1).The model editor. An MNIST model built from Input, Conv2d, ReLU and MaxPool2d blocks, with the Conv2d block selected; below it, the model.py code panel highlights that block's line: self.conv2d_1 = nn.Conv2d(1, 16, kernel_size=3, padding=1).The model editor. An MNIST model built from Input, Conv2d, ReLU and MaxPool2d blocks, with the Conv2d block selected; below it, the model.py code panel highlights that block's line: self.conv2d_1 = nn.Conv2d(1, 16, kernel_size=3, padding=1).

Blocks become code

Every block is a line of code.

Choose a block, and its line lights up.

INPUT
Input
image, 1×28×28
B×1×28×28✓ verified
CONV2D160 params
Conv2d
16 filters, 3×3, padding 1
B×16×28×28✓ verified
RELU
ReLU
activation
B×16×28×28✓ verified
MAXPOOL2D
MaxPool2d
2×2
B×16×14×14✓ verified
model.pyobjective.pytrain.pydata.py
8class MyFirstCNN(nn.Module):
9"""My first CNN: 105,866 trainable parameters."""
10
11def __init__(self):
12super().__init__()
13self.conv2d_1 = nn.Conv2d(1, 16, kernel_size=3, padding=1)
14self.relu_1 = nn.ReLU()
15self.maxpool2d_1 = nn.MaxPool2d(2)

Three proofs

Don't take our word for it. Look.

  1. Look inside a layer

    See what one layer makes of a batch of digits.

    Run to this block on a Conv2d: for one training batch, the inspector shows the output shape [64, 16, 28, 28], its lowest, highest and mean values, a histogram, and the 16 feature maps of the first sample, each a differently filtered handwritten 5.Run to this block on a Conv2d: for one training batch, the inspector shows the output shape [64, 16, 28, 28], its lowest, highest and mean values, a histogram, and the 16 feature maps of the first sample, each a differently filtered handwritten 5.Run to this block on a Conv2d: for one training batch, the inspector shows the output shape [64, 16, 28, 28], its lowest, highest and mean values, a histogram, and the 16 feature maps of the first sample, each a differently filtered handwritten 5.
  2. Watch it learn

    The loss chart draws live as it trains.

    Training running in epoch 2 of 2 on the CPU, with the loss chart drawing live: training loss went from 2.334 at step 1 to 0.0544 at step 1,876.Training running in epoch 2 of 2 on the CPU, with the loss chart drawing live: training loss went from 2.334 at step 1 to 0.0544 at step 1,876.Training running in epoch 2 of 2 on the CPU, with the loss chart drawing live: training loss went from 2.334 at step 1 to 0.0544 at step 1,876.
  3. See what it gets wrong

    98.5% right on MNIST, with the wrong ones first.

    The Results page: test accuracy 98.5%, 9,849 of 10,000 samples right, after 2 epochs on CPU. A confusion matrix of the ten digits with the right answers on the diagonal, the accuracy of each class, and the test predictions with the wrong ones first.The Results page: test accuracy 98.5%, 9,849 of 10,000 samples right, after 2 epochs on CPU. A confusion matrix of the ten digits with the right answers on the diagonal, the accuracy of each class, and the test predictions with the wrong ones first.The Results page: test accuracy 98.5%, 9,849 of 10,000 samples right, after 2 epochs on CPU. A confusion matrix of the ten digits with the right answers on the diagonal, the accuracy of each class, and the test predictions with the wrong ones first.

Privacy

Nothing leaves your computer.

Unless you click to download something.

What goes out, and when
A laptop and a cloud joined by a wire. The wire is cut, and a counter reads 0 requests.0 requests

Works with

  • MNIST
  • Fashion-MNIST
  • CIFAR-10
  • Palmer penguins
  • Tiny Shakespeare
  • Hugging Face datasets
  • Your tables (CSV)
  • Your pictures
  • Your texts

For teaching

Lessons, labs and grading, ready for a class.

Ten lessons, marked labs, one-step grading.

For teaching
Lesson 1, Two moons: 7 checks worth 9 points, 10 locked blocks, a Check my work button, and the worksheet with its goal, time, what you need, the task and the steps.Lesson 1, Two moons: 7 checks worth 9 points, 10 locked blocks, a Check my work button, and the worksheet with its goal, time, what you need, the task and the steps.Lesson 1, Two moons: 7 checks worth 9 points, 10 locked blocks, a Check my work button, and the worksheet with its goal, time, what you need, the task and the steps.

Go further

Language and vision models.

Train a language model on Shakespeare, or fine-tune GPT-2 small.

Go further
Generate with the mini GPT trained on Tiny Shakespeare: the prompt ROMEO: and 200 characters the model wrote after it, in the shape of a play, with speakers such as FRIAR CUS and DUKE AS.Generate with the mini GPT trained on Tiny Shakespeare: the prompt ROMEO: and 200 characters the model wrote after it, in the shape of a play, with speakers such as FRIAR CUS and DUKE AS.Generate with the mini GPT trained on Tiny Shakespeare: the prompt ROMEO: and 200 characters the model wrote after it, in the shape of a play, with speakers such as FRIAR CUS and DUKE AS.

The download is coming soon.

The Windows app is getting ready for its first release.

Windows download coming soonWhat the computer will need