MNIST-Datensatz#
Das MNIST (Modified National Institute of Standards and Technology) Datenset ist ein image classification-Benchmark aus 70.000 Graustufenbildern in 28x28 Pixeln von handgeschriebenen Ziffern über 10 Klassen hinweg – den Ziffern 0 bis 9. Es wird mit einem vordefinierten Split von 60.000 Trainings- und 10.000 Testbildern ausgeliefert und dient seit langem als Standard-Benchmark zur Evaluierung von machine learning- und computer vision-Algorithmen. Für das schwierigere Äquivalent mit Kleidungsbildern siehe das zugehörige Fashion-MNIST-Datenset; für Farbbilder siehe CIFAR-10.
Hauptfunktionen#
- MNIST enthält 60.000 Trainingsbilder und 10.000 Testbilder von handgeschriebenen Ziffern, also insgesamt 70.000.
- Jedes Bild ist ein 28x28 großes Graustufenbild einer einzelnen Ziffer, das normalisiert und per Anti-Aliasing in eine feste 28x28 bounding box eingepasst wurde.
- Die 10 Klassen umfassen die Ziffern 0–9, mit einer annähernd ausgeglichenen Anzahl an Bildern pro Klasse.
- Er wird mit einer vordefinierten Trainings-/Test-Aufteilung geliefert, sodass keine manuelle oder automatische Unterteilung erforderlich ist.
- MNIST ist ein Standard-Benchmark für die Forschung im Bereich image classification und deep learning.
Datensatzstruktur#
MNIST wird mit einer offiziellen, vordefinierten Aufteilung geliefert, daher ist keine automatische oder manuelle Partitionierung nötig:
- Klassen: 10 (handgeschriebene Ziffern 0–9)
- Gesamtanzahl Bilder: 70.000 (28x28 Graustufen)
- Trainingsset: 60.000 Bilder
- Testset: 10.000 Bilder
MNIST hat keinen separaten Validierungsordner, daher verwendet Ultralytics standardmäßig das 10.000-Bilder-Testset als Validierungssplit während des Trainings.
Jedes Bild ist mit der entsprechenden Ziffer (0–9) gelabelt, was MNIST zu einem überwachten (supervised) Datensatz macht, der ideal für Klassifizierungsaufgaben ist.
Anwendungen#
MNIST wird häufig verwendet, um image classification-Modelle zu trainieren und zu evaluieren, von klassischen Convolutional Neural Networks (CNNs) und Support Vector Machines (SVMs) bis hin zu modernen Deep-Architectures. Seine kleinen Graustufenbilder und 10 Ziffernklassen machen es zu einem schnellen, reproduzierbaren Benchmark für den Algorithmenvergleich und für computer vision-Experimente.
Einige häufige Anwendungen sind:
- Benchmarking neuer Klassifizierungsalgorithmen
- Bildungszwecke zur Vermittlung von Machine-Learning-Konzepten
- Prototyping von Bilderkennungssystemen
- Testen von Modelloptimierungstechniken
Verwendung#
Trainiere ein YOLO-Klassifizierungsmodell auf MNIST für 100 epochs bei einer Bildgröße von 28. Das Datenset wird bei der ersten Verwendung automatisch heruntergeladen und zwischengespeichert; wenn du die volle Kontrolle über die Vorverarbeitung bevorzugst, sind die originalen Gzip-Archive auch über die MNIST database verfügbar. Eine vollständige Liste der verfügbaren Argumente findest du auf der Seite Training und im Leitfaden zum image classification-Task.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="mnist", epochs=100, imgsz=28)Ultralytics stellt außerdem data="mnist160" bereit, einen Ausschnitt mit 160 Bildern, der die ersten acht Bilder jeder Ziffer (0–9) sowohl aus dem Trainings- als auch aus dem Test-Split enthält. Er spiegelt die Verzeichnisstruktur von MNIST wider, sodass du Datensätze austauschen kannst, ohne andere Argumente zu ändern – ideal für CI-Pipelines oder Plausibilitätsprüfungen, bevor du dich auf den gesamten Datensatz mit 70.000 Bildern festlegst.
yolo classify train data=mnist160 model=yolo26n-cls.pt epochs=5 imgsz=28Beispielbilder und Annotationen#
Beispielbilder aus dem MNIST Datensatz:

Die Beispiele zeigen die Bandbreite an Handschriftstilen, die der Datensatz über die 10 Ziffernklassen hinweg erfasst.
Zitate und Danksagungen#
Wenn du den MNIST-Datensatz in deiner Forschungs- oder Entwicklungsarbeit verwendest, zitiere bitte das folgende Paper:
@article{lecun2010mnist,
title={MNIST handwritten digit database},
author={LeCun, Yann and Cortes, Corinna and Burges, CJ},
journal={ATT Labs [Online]},
volume={2},
year={2010}
}Wir möchten Yann LeCun, Corinna Cortes und Christopher J.C. Burges für die Erstellung und Pflege des MNIST-Datensets als wertvolle Ressource für die machine learning- und computer vision-Forschungsgemeinschaft danken. Weitere Informationen über das MNIST-Datenset und seine Ersteller findest du auf der MNIST dataset website.
FAQ#
Das MNIST-Datenset ist ein Benchmark aus 70.000 Graustufenbildern in 28x28 Pixeln von handgeschriebenen Ziffern, aufgeteilt in 60.000 Trainings- und 10.000 Testbilder über die 10 Klassen 0–9. Es ist die Standardreferenz zur Evaluierung von image classification-Algorithmen – sein kleines, einheitliches Format ermöglicht es Forschern und Ingenieuren, Methoden zu vergleichen und Fortschritte mit minimalem Einrichtungsaufwand zu verfolgen, weshalb es nach wie vor ein geläufiger erster Benchmark im maschinellen Lernen ist.
MNIST hat 10 Klassen – die handgeschriebenen Ziffern 0 bis 9 – und insgesamt 70.000 Graustufenbilder, jedes 28x28 Pixel groß. Er wird mit einer vordefinierten Aufteilung von 60.000 Trainings- und 10.000 Testbildern geliefert, mit einer annähernd gleichen Anzahl an Beispielen pro Ziffer.
Um ein Ultralytics YOLO-Modell auf MNIST zu trainieren, verwende die untenstehenden Code-Snippets. Das Datenset wird bei der ersten Verwendung automatisch heruntergeladen. Eine detaillierte Liste der verfügbaren Trainingsargumente findest du auf der Training-Seite.
Trainingsbeispielfrom ultralytics import YOLO # Load a model model = YOLO("yolo26n-cls.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="mnist", epochs=100, imgsz=28)MNIST wird mit einer vordefinierten Aufteilung von 60.000 Trainingsbildern und 10.000 Testbildern geliefert. Im Gegensatz zu ordnerbasierten Klassifizierungsdatensätzen, die Ultralytics automatisch aufteilt, wird die offizielle Partitionierung von MNIST unverändert verwendet, und das Testset dient standardmäßig als Validierungssplit während des Trainings.
Der MNIST Datensatz enthält nur handgeschriebene Ziffern, wohingegen der Extended MNIST (EMNIST) Datensatz sowohl Ziffern als auch Groß- und Kleinbuchstaben umfasst. EMNIST wurde als Nachfolger von MNIST entwickelt und verwendet das gleiche 28x28 Pixelformat, wodurch es mit Tools und Modellen kompatibel ist, die für den ursprünglichen MNIST Datensatz konzipiert wurden. Dieser breitere Bereich an Zeichen macht EMNIST für eine größere Vielfalt an Machine Learning Anwendungen nützlich.
Ja. Mit Ultralytics Platform kannst du Datensätze hochladen, image classification-Modelle trainieren und diese ohne umfangreichen Code bereitstellen. Dies ist eine bequeme Möglichkeit, MNIST-Experimente in der Cloud auszuführen – siehe die classification datasets overview für verwandte Optionen.
MNIST ist einfacher als viele moderne Datensätze wie CIFAR-10 oder ImageNet, wodurch es sich ideal für Anfänger und schnelle Experimente eignet. Während komplexere Datensätze größere Herausforderungen mit Farbbildern und vielfältigen Objektkategorien bieten, bleibt MNIST aufgrund seiner Einfachheit, der geringen Dateigröße und seiner historischen Bedeutung bei der Entwicklung von Algorithmen für das maschinelle Lernen wertvoll. Für einen schwierigeren direkten Ersatz mit derselben Struktur siehe Fashion-MNIST, das Kleidungsstücke anstelle von Ziffern enthält.