Ultralytics YOLO27:
Get Started

ImageNette-Datensatz#

Der Datensatz ImageNette ist eine Teilmenge von ImageNet mit 10 leicht unterscheidbaren Klassen. fast.ai hat ihn erstellt, um eine schnellere und einfacher zu verwendende ImageNet-Version für die Softwareentwicklung und Ausbildung bereitzustellen. Er enthält 13.394 Farbbilder – 9.469 für das Training und 3.925 für die Validierung – mit Klassen wie Schleie, englischer Springer-Spaniel, Kassettenrekorder und Waldhorn. Dadurch lassen sich Bildklassifizierungsmodelle in wenigen Minuten trainieren statt in den Stunden, die das vollständige ImageNet mit 1.000 Klassen benötigt.

Wichtige Funktionen#

  • ImageNette umfasst 13.394 Bilder aus 10 Klassen: Schleie, englischer Springer-Spaniel, Kassettenrekorder, Kettensäge, Kirche, Waldhorn, Müllwagen, Zapfsäule, Golfball und Fallschirm.
  • Der Datensatz enthält eine vordefinierte Aufteilung mit 9.469 Farbbildern für das Training und 3.925 für die Validierung, jeweils in unterschiedlichen Abmessungen.
  • Dank der 10 klar voneinander abgegrenzten Klassen lässt sich ImageNette schnell trainieren und einfach nachvollziehen. Daher wird der Datensatz häufig für Prototypen und die Vermittlung von Bildklassifizierung verwendet.

Datensatzstruktur#

ImageNette enthält eine vordefinierte Aufteilung in Trainings- und Validierungsdaten. Jede Klasse befindet sich in einem eigenen Ordner:

AufteilungBilderKlassen
Trainieren9,46910
Validierung3,92510

Die genaue Anzahl der Bilder variiert je nach Klasse. So ergibt sich eine realistische Verteilung für schnelles Training und Benchmarking, ohne den Umfang des vollständigen ImageNet-Datensatzes.

Anwendungsfälle#

Der ImageNette-Datensatz wird häufig zum Trainieren und Auswerten von Deep-Learning-Modellen für Bildklassifizierungsaufgaben verwendet, etwa für faltende neuronale Netze (CNNs) und andere Algorithmen des maschinellen Lernens. Dank seines einfachen Formats und der sorgfältig ausgewählten Klassen ist er eine praktische Ressource für Einsteiger und erfahrene Fachleute im Bereich maschinelles Lernen und Computer Vision.

Verwendung#

Um ein Modell 100 Epochen lang mit dem ImageNette-Datensatz und einer Standardbildgröße von 224x224 zu trainieren, kannst du die folgenden Codeausschnitte verwenden. Eine vollständige Liste der verfügbaren Argumente findest du auf der Seite zum Training von Modellen.

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="imagenette", epochs=100, imgsz=224)

Beispielbilder und Annotationen#

Der ImageNette-Datensatz enthält Farbbilder verschiedener Objekte und Szenen und bietet damit eine vielfältige Datengrundlage für Aufgaben der Bildklassifizierung. Hier sind einige Beispielbilder aus dem Datensatz:

Beispielbilder des ImageNette-Klassifizierungsdatensatzes

Das Beispiel zeigt die Vielfalt und Komplexität der Bilder im ImageNette-Datensatz und verdeutlicht, wie wichtig ein vielfältiger Datensatz für das Training robuster Bildklassifizierungsmodelle ist.

ImageNette160 und ImageNette320#

Für schnelleres Prototyping und Training ist ImageNette auch in zwei verkleinerten Varianten verfügbar: ImageNette160 und ImageNette320. Diese Datensätze haben dieselben Klassen und dieselbe Struktur wie das vollständige ImageNette, aber die Bilder wurden auf eine geringere maximale Kantenlänge verkleinert. Sie eignen sich besonders für vorläufige Modelltests oder bei begrenzten Rechenressourcen.

Um diese Datensätze zu verwenden, ersetze in den Trainingsbefehlen einfach imagenette durch imagenette160 oder imagenette320. Die folgenden Codeausschnitte veranschaulichen dies:

Trainingsbeispiel mit ImageNette160
from ultralytics import YOLO

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

# Modell mit ImageNette160 trainieren
results = model.train(data="imagenette160", epochs=100, imgsz=160)
Trainingsbeispiel mit ImageNette320
from ultralytics import YOLO

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

# Modell mit ImageNette320 trainieren
results = model.train(data="imagenette320", epochs=100, imgsz=320)

Diese kleineren Datensatzvarianten ermöglichen schnelle Entwicklungszyklen und bieten dennoch realistische Bildklassifizierungsaufgaben. Mit der Ultralytics Platform kannst du außerdem Klassifizierungsdatensätze verwalten und in der Cloud trainieren.

Zitate und Danksagungen#

Wenn du den ImageNette-Datensatz in deiner Forschung oder Entwicklungsarbeit verwendest, erwähne ihn bitte angemessen. Weitere Informationen zu ImageNette findest du auf der GitHub-Seite des ImageNette-Datensatzes.

Wir möchten dem Team von fast.ai dafür danken, dass es ImageNette erstellt und gepflegt hat und damit eine wertvolle Ressource für die Forschungsgemeinschaft in den Bereichen maschinelles Lernen und Computer Vision bereitstellt.

Häufig gestellte Fragen#

  • Der ImageNette-Datensatz ist eine vereinfachte Teilmenge von ImageNet mit 10 leicht unterscheidbaren Klassen, darunter Schleie, englischer Springer-Spaniel und Waldhorn. Er umfasst 13.394 Bilder (9.469 für das Training und 3.925 für die Validierung) und wurde von fast.ai erstellt, um einen überschaubareren Datensatz für das effiziente Training und die Auswertung von Bildklassifizierungsmodellen bereitzustellen. Dadurch eignet er sich besonders für die schnelle Softwareentwicklung und für Lehrzwecke in den Bereichen maschinelles Lernen und Computer Vision.

  • ImageNette umfasst insgesamt 13.394 Bilder – 9.469 für das Training und 3.925 für die Validierung – aus 10 Klassen: Schleie, englischer Springer-Spaniel, Kassettenrekorder, Kettensäge, Kirche, Waldhorn, Müllwagen, Zapfsäule, Golfball und Fallschirm. Jede Klasse befindet sich in einem eigenen Ordner, entsprechend der standardmäßigen Klassifizierungsstruktur, die Ultralytics voraussetzt.

  • Um ein YOLO-Modell 100 Epochen lang mit ImageNette zu trainieren, verwende die folgenden Befehle. Stelle sicher, dass deine Ultralytics-YOLO-Umgebung eingerichtet ist.

    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="imagenette", epochs=100, imgsz=224)

    Weitere Informationen findest du auf der Dokumentationsseite zum Training.

  • Der ImageNette-Datensatz bietet mehrere Vorteile:

    • Schnell und einfach: Mit nur 10 Klassen und etwa 13.000 Bildern ist das Training deutlich weniger komplex und zeitaufwendig als mit dem vollständigen ImageNet.
    • Für Lehrzwecke: Ideal, um die Grundlagen der Bildklassifizierung zu erlernen und zu vermitteln, da weniger Rechenleistung und Zeit benötigt werden.
    • Vielseitigkeit: Der Datensatz wird häufig zum Trainieren und Benchmarking von Bildklassifizierungsmodellen verwendet, insbesondere von faltenden neuronalen Netzen (CNNs).

    Weitere Informationen zum Modelltraining und zur Verwaltung von Datensätzen findest du im Abschnitt Datensatzstruktur.

  • Ja, ImageNette ist auch in zwei skalierten Varianten verfügbar: ImageNette160 und ImageNette320. Ihre Bilder wurden auf eine geringere maximale Kantenlänge verkleinert. Diese Varianten erleichtern das schnelle Prototyping und sind besonders bei begrenzten Rechenressourcen nützlich.

    Trainingsbeispiel mit ImageNette160
    from ultralytics import YOLO
    
    # Ein Modell laden
    model = YOLO("yolo26n-cls.pt")
    
    # Modell mit ImageNette160 trainieren
    results = model.train(data="imagenette160", epochs=100, imgsz=160)

    Weitere Informationen findest du unter Training mit ImageNette160 und ImageNette320.

  • Der ImageNette-Datensatz wird häufig in folgenden Bereichen verwendet:

    • Lehr- und Lernumgebungen: Um Einsteigern die Grundlagen des maschinellen Lernens und der Computer Vision zu vermitteln.
    • Softwareentwicklung: Für das schnelle Prototyping und die Entwicklung von Bildklassifizierungsmodellen.
    • Deep-Learning-Forschung: Zur Auswertung und zum Benchmarking der Leistung verschiedener Deep-Learning-Modelle, insbesondere faltender neuronaler Netze (CNNs).

    Eine Übersicht detaillierter Anwendungsfälle findest du im Abschnitt Anwendungen.

Kommentare