🔤 OCR Neural Network

1600 → 256→128 (ReLU×2) → 36 classes (softmax)

Input — draw or generate a 40×40 glyph

Or pick a glyph

Test fonts (marked ⚑) were not used in training — they show generalisation to unseen typefaces.

What the network actually sees (after centre + scale normalisation):

Prediction

Training

Click “Build dataset & train”. Needs internet access to fetch the Google Fonts.
Epoch
Train accuracy (10 fonts seen, mixed styles)
Test accuracy (6 unseen fonts ⚑, mixed styles)
Loss
Training data: 0 glyphs · Test data: 0 glyphs

Hidden-layer activations (current input)

Hidden layer 1
Hidden layer 2
Each bar is one neuron’s ReLU output — the network’s learned feature response to the glyph above (first 96 neurons of each layer shown).

Output layer — 36 classes (brightness = probability)

The yellow-outlined cell is the network’s pick.