Distributed image classification
Inspect the model. Test the system.
A small, reproducible digit classifier with a training pipeline you can inspect. Predictions run locally in your browser; the system evidence comes from recorded Python runs.
Input image
8 × 8 grayscaleSamples come from the revised held-out test split.
Draw with a pointer, or use arrow keys and Space to shade a cell. Custom drawings can differ substantially from the training data.
Prediction
Local executionReady when you are
Classify the image to compare with its dataset label.
Scores are uncalibrated softmax probabilities, not guarantees of correctness.
Model identity and inference details
64 inputs → 64 hidden units → 10 classes. Exported weights are evaluated with the same linear, ReLU and softmax operations as the Python model.
Training and validation
Weights are selected using validation loss. The reserved test split is evaluated after selection. Epoch checkpoints retain optimizer state separately from the selected model weights.
Training lossValidation loss
Where the model makes mistakes
Rows are actual classes; columns are predictions on the reserved test split. Per-class results prevent a single accuracy number from hiding uneven performance.
One worker versus two
No measured benchmark loaded.
A recoverable training pipeline
- Split the public dataset deterministically into training, validation and test partitions.
- Synchronize gradients between CPU Gloo worker processes.
- Atomically checkpoint the current model, optimizer, epoch and selected validation model.
- Interrupt one worker and restore the group from its last complete checkpoint.
- Promote only a completed, validated artifact and identify predictions by its digest.
Verified behavior
Boundaries
This is a single-host distributed-process reference, not a deployed multi-node platform. The free public Space runs browser inference and recorded evidence. The downloadable local app provides actual training, recovery and promotion controls.