Ultralytics YOLO27:

MNIST-Datensatz#

Der MNIST-Datensatz (modifizierter Datensatz des National Institute of Standards and Technology) ist ein Benchmark für Bildklassifikation mit 70.000 28x28 großen Graustufenbildern handgeschriebener Ziffern aus 10 Klassen – den Ziffern 0 bis 9. Er wird mit einer vordefinierten Aufteilung in 60.000 Trainings- und 10.000 Testbilder ausgeliefert 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; Farbbilder findest du in CIFAR-10.

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

Wichtige Funktionen#

  • MNIST enthält 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 normalisiert und in einen festen Begrenzungsrahmen der Größe 28x28 mit Kantenglättung eingefügt wurde.
  • Die 10 Klassen umfassen die Ziffern 0–9, wobei die Anzahl der Bilder pro Klasse ungefähr ausgeglichen ist.
  • Der Datensatz wird mit einer vordefinierten Trainings-/Testaufteilung ausgeliefert, sodass keine manuelle oder automatische Aufteilung erforderlich ist.
  • MNIST ist ein Standardbenchmark für die Forschung zu Bildklassifikation und Deep Learning.

Datensatzstruktur#

MNIST wird mit einer offiziellen, vordefinierten Aufteilung ausgeliefert, sodass keine automatische oder manuelle Partitionierung erforderlich ist:

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

MNIST hat keinen separaten Validierungsordner, daher verwendet Ultralytics den 10.000 Bilder umfassenden Testsatz standardmäßig als Validierungsaufteilung während des Trainings.

Jedes Bild ist mit der entsprechenden Ziffer (0–9) beschriftet, wodurch MNIST zu einem überwachten Datensatz wird, der sich ideal für Klassifikationsaufgaben eignet.

Anwendungen#

MNIST wird häufig zum Trainieren und Bewerten von Modellen für die Bildklassifikation verwendet – von klassischen Faltungsneuronalen Netzen (CNNs) und Support-Vektor-Maschinen (SVMs) bis hin zu modernen tiefen 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 Anwendungen gehören:

  • Bewertung neuer Klassifikationsalgorithmen
  • Lehrzwecke zur Vermittlung von Konzepten des maschinellen Lernens
  • Prototyping von Bilderkennungssystemen
  • Testen von Techniken zur Modelloptimierung

Verwendung#

Trainiere ein YOLO-Klassifikationsmodell 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 selbst steuern 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 im Leitfaden zur Aufgabe Bildklassifikation.

Trainingsbeispiel
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)
Schnelle Tests mit MNIST160

Ultralytics stellt außerdem data="mnist160" bereit, einen Ausschnitt mit 160 Bildern, der die jeweils ersten acht Bilder jeder Ziffer (0–9) aus der Trainings- und der Testaufteilung enthält. Er bildet die Verzeichnisstruktur von MNIST nach, sodass du Datensätze austauschen kannst, ohne andere Argumente zu ändern – ideal für CI-Pipelines oder Plausibilitätsprüfungen, bevor du dich für den vollständigen Datensatz mit 70.000 Bildern entscheidest.

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

Beispielbilder und Annotationen#

Beispielbilder aus dem MNIST-Datensatz:

Beispiele aus dem Datensatz zur Klassifikation handgeschriebener MNIST-Ziffern

Die Beispiele zeigen die Bandbreite der Schreibstile, 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 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 danken Yann LeCun, Corinna Cortes und Christopher J.C. Burges für die Erstellung und Pflege des MNIST-Datensatzes als wertvolle Ressource für die Forschungsgemeinschaft im Bereich maschinelles Lernen und Computer Vision. Weitere Informationen zum MNIST-Datensatz und seinen Erstellern findest du auf der Website des MNIST-Datensatzes.

FAQ#

  • Der MNIST-Datensatz ist ein Benchmark mit 70.000 28x28 großen Graustufenbildern handgeschriebener Ziffern, aufgeteilt in 60.000 Trainings- und 10.000 Testbilder aus den 10 Klassen 0–9. Er ist die Standardreferenz zur Bewertung von Bildklassifikationsalgorithmen – sein kleines, einheitliches Format ermöglicht es Forschenden und Ingenieurinnen und Ingenieuren, Methoden mit minimalem Einrichtungsaufwand zu vergleichen und Fortschritte zu verfolgen. Daher bleibt er ein verbreiteter erster Benchmark im maschinellen Lernen.

  • MNIST umfasst 10 Klassen – die handgeschriebenen Ziffern 0 bis 9 – und insgesamt 70.000 Graustufenbilder mit jeweils 28x28 Pixeln. Der Datensatz wird mit einer vordefinierten Aufteilung in 60.000 Trainings- und 10.000 Testbilder ausgeliefert, wobei auf jede Ziffer ungefähr gleich viele Beispiele entfallen.

  • Um ein Ultralytics YOLO-Modell auf MNIST zu trainieren, verwende die folgenden Codeausschnitte. 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
    
    # 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 in 60.000 Trainingsbilder und 10.000 Testbilder ausgeliefert. Anders als bei ordnerbasierten Klassifikationsdatensätzen, die Ultralytics automatisch aufteilt, wird die offizielle Partition von MNIST unverändert verwendet, und der Testsatz dient standardmäßig als Validierungsaufteilung während des Trainings.

  • Der MNIST-Datensatz enthält ausschließlich handgeschriebene Ziffern, während der Datensatz für erweitertes MNIST (EMNIST) sowohl Ziffern als auch Groß- und Kleinbuchstaben umfasst. EMNIST wurde als Nachfolger von MNIST entwickelt und verwendet dasselbe 28x28-Pixelformat, wodurch der Datensatz mit Werkzeugen und Modellen kompatibel ist, die für den ursprünglichen MNIST-Datensatz entwickelt wurden. Diese größere Auswahl an Zeichen macht EMNIST für eine größere Vielfalt von Anwendungen des maschinellen Lernens nützlich.

  • Ja. Mit der Ultralytics Platform kannst du Datensätze hochladen, Modelle für die Bildklassifikation trainieren und sie ohne umfangreiche Programmierkenntnisse bereitstellen. Sie ist eine praktische Möglichkeit, MNIST-Experimente in der Cloud durchzuführen – verwandte Optionen findest du in der Übersicht zu Klassifikationsdatensätzen.

  • 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, doch MNIST bleibt aufgrund seiner Einfachheit, der geringen Dateigröße und seiner historischen Bedeutung für die Entwicklung von Algorithmen des maschinellen Lernens wertvoll. Einen anspruchsvolleren direkten Ersatz mit derselben Struktur findest du in Fashion-MNIST, das statt Ziffern Kleidungsstücke enthält.

Kommentare