Grada is an interactive tool that lets you observe real-time
changes as you train a multilayer perceptron.
Double-click on a layer to edit it.
You can create or import datasets and apply flattening, min-max
normalization, and one-hot encoding operations.
Double-click on the MLP to edit its properties.
You can evaluate a model by connecting an input component, but to
train it, you'll also need to add an output component.
Blue represents neuron biases. Cyan represents bias gradients.
In input and output layers,
yellow represents fetched data, and
green represents executed data.
Pressing 'E' while hovering over the MLP resets the coordinates of
its components.
Pressing 'R' while hovering over the digit input clears the grid.
Pressing 'Esc' closes the edit layer screen and the MLP edit
popup.
You can add components to mlp to plot loss graph or see forward
pass calculations by pressing the
yellow and
blue dots. To alternate between train
and evaluation loss graph simply change the mlp's mode.
All the numbers shown in the MLP represent the output for the
first record. To observe all outputs for the current batch (up to
5 records), use the calculationViewer component.
Use the flattener component to flatten the dataset if you haven't
already done so while creating the dataset. It flattens the
incoming data and optionally augments it.
For example, in the MNIST dataset, you can crop the image into an
arbitrary number of parts and flatten it into a specified number.
You can also visulize the incoming data.
The data doesn't need to come from handwritten input; you can
connect the MNIST train-eval dataset if it hasn't been flattened.
There is a pre-trained model that you can import in the
Handwritten Digits section. You can also evaluate it with your
real-time drawings. If you don't use data augmentation (meaning
your part number is 1), you don't need to use the grid output but
since averaging are done in that component and it highlights the
result, don't forget to connect it.
Source code is available on GitHub. Contributions, issues and
feature requests are welcome.