Ultralytics YOLO27:

MNIST-Datensatz#

Der MNIST-Datensatz (modifiziertes nationales Institut für Standards und Technologie) ist ein Benchmark für die Bildklassifizierung mit 70.000 Graustufenbildern handgeschriebener Ziffern im Format 28x28, die 10 Klassen umfassen — die Ziffern 0 bis 9. Er enthält eine vordefinierte Aufteilung in 60.000 Trainings- und 10.000 Testbilder und dient seit Langem als Standardbenchmark zur Bewertung von Algorithmen für maschinelles Lernen und Computer Vision. Eine anspruchsvollere Entsprechung mit Kleidungsbildern findest du im verwandten Datensatz Fashion-MNIST; für Farbbilder siehe CIFAR-10.

Sieh dir MNIST auf der Ultralytics Platform an, um Beispiele in der Vorschau anzuzeigen, Datensatzstatistiken zu prüfen und den Datensatz für das Training zu klonen.

Wichtige Funktionen#

  • MNIST umfasst 60.000 Trainingsbilder und 10.000 Testbilder handgeschriebener Ziffern, insgesamt also 70.000 Bilder.
  • Jedes Bild ist eine 28x28 große Graustufenaufnahme einer einzelnen Ziffer. Die Größe ist normalisiert und die Kanten sind geglättet, sodass die Ziffer in ein Feld von 20x20 passt und im 28x28-Bild zentriert ist.
  • Die 10 Klassen umfassen die Ziffern 0–9, wobei jede Klasse ungefähr gleich viele Bilder enthält.
  • Der Datensatz enthält eine vordefinierte Aufteilung in Trainings- und Testdaten, sodass keine manuelle oder automatische Aufteilung erforderlich ist.
  • MNIST ist ein Standardbenchmark für die Erforschung von Bildklassifizierung und Deep Learning.

Datensatzstruktur#

MNIST enthält eine offizielle, vordefinierte Aufteilung, sodass keine automatische oder manuelle Unterteilung nötig ist:

  • Klassen: 10 (handgeschriebene Ziffern 0–9)
  • Bilder insgesamt: 70.000 (28x28, Graustufen)
  • Trainingssatz: 60.000 Bilder
  • Testsatz: 10.000 Bilder
Validierungssatz

MNIST hat keinen separaten Validierungsordner. Daher verwendet Ultralytics während des Trainings standardmäßig den Testsatz mit 10.000 Bildern als Validierungsaufteilung.

Jedes Bild ist mit der entsprechenden Ziffer (0–9) beschriftet. Damit ist MNIST ein überwachter Datensatz, der sich ideal für Klassifizierungsaufgaben eignet.

Anwendungsfälle#

MNIST wird häufig zum Trainieren und Bewerten von Bildklassifizierungs-modellen verwendet, von klassischen Convolutional Neural Networks (CNNs) und Support Vector Machines (SVMs) bis hin zu modernen Deep-Learning-Architekturen. Die kleinen Graustufenbilder und 10 Ziffernklassen machen MNIST zu einem schnellen, reproduzierbaren Benchmark für den Vergleich von Algorithmen und für Experimente mit Computer Vision.

Zu den häufigen Anwendungsbereichen gehören:

  • Benchmarking neuer Klassifizierungsalgorithmen
  • Lehrzwecke zur Vermittlung von Konzepten des maschinellen Lernens
  • Prototyping von Bilderkennungssystemen
  • Testen von Modelloptimierungstechniken

Verwendung#

Trainiere ein YOLO-Klassifizierungsmodell auf MNIST 100 Epochen lang mit einer Bildgröße von 28. Der Datensatz wird bei der ersten Verwendung automatisch heruntergeladen und zwischengespeichert. Wenn du die Vorverarbeitung vollständig kontrollieren möchtest, sind die ursprünglichen gzip-Archive auch über die MNIST-Datenbank verfügbar. Eine vollständige Liste der verfügbaren Argumente findest du auf der Seite Training und in der Anleitung zur Aufgabe Bildklassifizierung.

Trainingsbeispiel
from ultralytics import YOLO

# Ein Modell laden
model = YOLO("yolo26n-cls.pt")  # ein vortrainiertes Modell laden (für das Training empfohlen)

# Das Modell trainieren
results = model.train(data="mnist", epochs=100, imgsz=28)
Schnelltests mit MNIST160

Ultralytics stellt außerdem data="mnist160" bereit, eine Auswahl von 160 Bildern mit den jeweils ersten acht Bildern jeder Ziffer (0–9) aus den Trainings- und Testaufteilungen. Die Verzeichnisstruktur entspricht der von MNIST, sodass du den Datensatz austauschen kannst, ohne andere Argumente zu ändern — ideal für CI-Pipelines oder Plausibilitätsprüfungen, bevor du dich auf den vollständigen Datensatz mit 70.000 Bildern festlegst.

yolo classify train data=mnist160 model=yolo26n-cls.pt epochs=5 imgsz=28

Beispielbilder und Annotationen#

Beispielbilder aus dem MNIST-Datensatz:

Beispielbilder des MNIST-Datensatzes zur Klassifizierung handgeschriebener Ziffern

Die Beispiele zeigen die Bandbreite der Schreibstile, die der Datensatz in den 10 Ziffernklassen abbildet.

Zitate und Danksagungen#

Wenn du den MNIST-Datensatz in deiner Forschung oder Entwicklungsarbeit verwendest, zitiere bitte die folgende Veröffentlichung:

Zitat
@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 dafür danken, dass sie den MNIST-Datensatz als wertvolle Ressource für die Forschungscommunity im Bereich maschinelles Lernen und Computer Vision erstellt und gepflegt haben. Weitere Informationen zum MNIST-Datensatz und seinen Erstellern findest du auf der MNIST-Datensatz-Website.

Häufig gestellte Fragen#

  • Der MNIST-Datensatz ist ein Benchmark mit 70.000 Graustufenbildern handgeschriebener Ziffern im Format 28x28. Er ist in 60.000 Trainings- und 10.000 Testbilder aus den 10 Klassen 0–9 unterteilt. Er ist der Standardmaßstab zur Bewertung von Algorithmen zur Bildklassifizierung — dank seines kleinen, einheitlichen Formats können Forschende und Entwickler Methoden mit minimalem Einrichtungsaufwand vergleichen und Fortschritte verfolgen. Deshalb ist er nach wie vor ein verbreiteter erster Benchmark für maschinelles Lernen.

  • MNIST umfasst 10 Klassen — die handgeschriebenen Ziffern 0 bis 9 — und insgesamt 70.000 Graustufenbilder mit jeweils 28x28 Pixeln. Der Datensatz enthält eine vordefinierte Aufteilung in 60.000 Trainings- und 10.000 Testbilder, mit ungefähr gleich vielen Beispielen pro Ziffer.

  • Um ein Ultralytics-YOLO-Modell auf MNIST zu trainieren, verwende die folgenden Codebeispiele. Der Datensatz wird bei der ersten Verwendung automatisch heruntergeladen. Eine ausführliche Liste der verfügbaren Trainingsargumente findest du auf der Seite Training.

    Trainingsbeispiel
    from ultralytics import YOLO
    
    # Ein Modell laden
    model = YOLO("yolo26n-cls.pt")  # ein vortrainiertes Modell laden (für das Training empfohlen)
    
    # Das Modell trainieren
    results = model.train(data="mnist", epochs=100, imgsz=28)
  • MNIST enthält eine vordefinierte Aufteilung in 60.000 Trainings- und 10.000 Testbilder. Anders als bei ordnerbasierten Klassifizierungsdatensätzen, die Ultralytics automatisch aufteilt, wird die offizielle Aufteilung von MNIST unverändert verwendet. Standardmäßig dient der Testsatz während des Trainings als Validierungsaufteilung.

  • Der MNIST-Datensatz enthält nur handgeschriebene Ziffern, während der erweiterte MNIST-Datensatz (EMNIST) sowohl Ziffern als auch Groß- und Kleinbuchstaben umfasst. EMNIST wurde als Nachfolger von MNIST entwickelt und verwendet dasselbe Format mit 28x28 Pixeln. Dadurch ist der Datensatz mit Werkzeugen und Modellen kompatibel, die für den ursprünglichen MNIST-Datensatz entwickelt wurden. Diese größere Zeichenvielfalt macht EMNIST für ein breiteres Spektrum von Anwendungen des maschinellen Lernens nützlich.

  • Ja. Mit der Ultralytics Platform kannst du Datensätze hochladen, Modelle zur Bildklassifizierung trainieren und sie ohne umfangreiche Programmierung bereitstellen. Sie ist eine praktische Möglichkeit, MNIST-Experimente in der Cloud durchzuführen — weitere passende Optionen findest du in der Übersicht über Klassifizierungsdatensätze.

  • MNIST ist einfacher als viele moderne Datensätze wie CIFAR-10 oder ImageNet und eignet sich daher ideal für Einsteiger und schnelle Experimente. Komplexere Datensätze stellen mit Farbbildern und vielfältigen Objektkategorien größere Herausforderungen dar. MNIST bleibt jedoch wegen seiner Einfachheit, der geringen Dateigröße und seiner historischen Bedeutung für die Entwicklung von Algorithmen des maschinellen Lernens wertvoll. Einen anspruchsvolleren, direkt austauschbaren Datensatz mit derselben Struktur findest du unter Fashion-MNIST; er enthält Kleidungsstücke statt Ziffern.

Kommentare