MNIST CNN (1-minute test run)

A small CNN trained from scratch on ylecun/mnist for a fixed 60-second wall-clock budget (13129 steps, ~28.01 epochs).

Results

Metric Value
Test accuracy 0.9939
Test loss 0.0232
Training wall-clock 60.0s
Steps 13129
Throughput 27993 images/s

Architecture

Conv(1->32, 3x3) -> ReLU -> MaxPool(2) -> Conv(32->64, 3x3) -> ReLU -> MaxPool(2) -> Flatten -> Linear(3136->128) -> ReLU -> Linear(128->10). Defined in model.py.

Usage

import torch
from model import SmallCNN

model = SmallCNN()
state = torch.load("model.pt", map_location="cpu")
model.load_state_dict(state["model_state_dict"])
model.eval()

# Input: float tensor (N, 1, 28, 28) scaled to [0, 1], then normalized
x = (x - 0.1307) / 0.3081
logits = model(x)
pred = logits.argmax(1)

Training preprocessing also applied random translation (pad 2, random crop) to the train split.

Downloads last month
17
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support