Zum Inhalt springen

ImageNette Datensatz

Der ImageNette-Datensatz ist eine Teilmenge des größeren Imagenet-Datensatzes, enthält aber nur 10 leicht unterscheidbare Klassen. Er wurde entwickelt, um eine schnellere und einfacher zu verwendende Version von Imagenet für die Softwareentwicklung und den Unterricht bereitzustellen.

Hauptmerkmale

  • ImageNette enthält Bilder aus 10 verschiedenen Klassen wie Schleie, English springer, Kassettenspieler, Kettensäge, Kirche, Waldhorn, Müllwagen, Zapfsäule, Golfball, Fallschirm.
  • Der Datensatz besteht aus farbigen Bildern mit unterschiedlichen Abmessungen.
  • ImageNette wird häufig zum Trainieren und Testen im Bereich des maschinellen Lernens eingesetzt, insbesondere für Bildklassifizierungsaufgaben.

Struktur des Datensatzes

Der ImageNette-Datensatz ist in zwei Teilmengen aufgeteilt:

  1. Training Set: Diese Teilmenge enthält mehrere Tausend Bilder, die für das Training von Machine-Learning-Modellen verwendet werden. Die genaue Anzahl variiert je nach Klasse.
  2. Validierungssatz: Diese Teilmenge besteht aus mehreren hundert Bildern, die zur Validierung und zum Benchmarking der trainierten Modelle verwendet werden. Auch hier variiert die genaue Anzahl je nach Klasse.

Anwendungen

Der ImageNette-Datensatz wird häufig zum Trainieren und Bewerten von Deep-Learning-Modellen für Bildklassifizierungsaufgaben verwendet, z. B. für Convolutional Neural Networks (CNNs) und verschiedene andere Machine-Learning-Algorithmen. Das übersichtliche Format und die gut ausgewählten Klassen machen den Datensatz zu einer praktischen Ressource für Anfänger und erfahrene Praktiker auf dem Gebiet des maschinellen Lernens und der Computer Vision.

Verwendung

Um ein Modell auf dem ImageNette-Datensatz für 100 Epochen mit einer Standardbildgröße von 224x224 zu trainieren, kannst du die folgenden Codeschnipsel verwenden. Eine umfassende Liste der verfügbaren Argumente findest du auf der Seite Modelltraining.

Beispiel für einen Zug

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)
# Start training from a pretrained *.pt model
yolo detect train data=imagenette model=yolov8n-cls.pt epochs=100 imgsz=224

Beispielbilder und Anmerkungen

Der ImageNette-Datensatz enthält farbige Bilder von verschiedenen Objekten und Szenen und bietet damit einen vielfältigen Datensatz für Bildklassifizierungsaufgaben. Hier sind einige Beispiele für Bilder aus diesem Datensatz:

Datensatz Beispielbild

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 der ImageNette-Datensatz auch in zwei reduzierten Größen erhältlich: ImageNette160 und ImageNette320. Diese Datensätze enthalten die gleichen Klassen und die gleiche Struktur wie der vollständige ImageNette-Datensatz, aber die Bilder sind auf eine kleinere Größe reduziert. Daher sind diese Versionen des Datensatzes besonders nützlich für erste Modelltests oder wenn die Rechenressourcen begrenzt sind.

Um diese Datensätze zu verwenden, ersetze einfach "imagenette" durch "imagenette160" oder "imagenette320" im Trainingsbefehl. Die folgenden Codeschnipsel veranschaulichen dies:

Ausbildungsbeispiel mit ImageNette160

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model with ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)
# Start training from a pretrained *.pt model with ImageNette160
yolo detect train data=imagenette160 model=yolov8n-cls.pt epochs=100 imgsz=160

Zugbeispiel mit ImageNette320

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model with ImageNette320
results = model.train(data="imagenette320", epochs=100, imgsz=320)
# Start training from a pretrained *.pt model with ImageNette320
yolo detect train data=imagenette320 model=yolov8n-cls.pt epochs=100 imgsz=320

Diese kleineren Versionen des Datensatzes ermöglichen schnelle Iterationen während des Entwicklungsprozesses und liefern dennoch wertvolle und realistische Bildklassifizierungsaufgaben.

Zitate und Danksagungen

Wenn du den ImageNette-Datensatz in deiner Forschungs- oder Entwicklungsarbeit verwendest, erwähne ihn bitte in angemessener Weise. Weitere Informationen über den ImageNette-Datensatz findest du auf der ImageNette-Datensatz-GitHub-Seite.

FAQ

Was ist der ImageNette-Datensatz?

Der ImageNette-Datensatz ist eine vereinfachte Untermenge des größeren ImageNet-Datensatzes und enthält nur 10 leicht unterscheidbare Klassen wie Schleie, English und Waldhorn. Er wurde erstellt, um einen überschaubareren Datensatz für das effiziente Training und die Auswertung von Bildklassifizierungsmodellen zu bieten. Dieser Datensatz ist besonders nützlich für die schnelle Softwareentwicklung und für Ausbildungszwecke in den Bereichen maschinelles Lernen und Computer Vision.

Wie kann ich den ImageNette-Datensatz für das Training eines YOLO Modells verwenden?

Um ein YOLO Modell auf dem ImageNette-Datensatz für 100 Epochen zu trainieren, kannst du die folgenden Befehle verwenden. Achte darauf, dass die Umgebung Ultralytics YOLO eingerichtet ist.

Beispiel für einen Zug

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="imagenette", epochs=100, imgsz=224)
# Start training from a pretrained *.pt model
yolo detect train data=imagenette model=yolov8n-cls.pt epochs=100 imgsz=224

Weitere Informationen findest du auf der Seite zur Ausbildungsdokumentation.

Warum sollte ich ImageNette für Bildklassifizierungsaufgaben verwenden?

Der ImageNette-Datensatz ist aus mehreren Gründen vorteilhaft:

  • Schnell und einfach: Er enthält nur 10 Klassen, was ihn im Vergleich zu größeren Datensätzen weniger komplex und zeitaufwändig macht.
  • Einsatz im Unterricht: Ideal zum Lernen und Lehren der Grundlagen der Bildklassifizierung, da es weniger Rechenleistung und Zeit benötigt.
  • Vielseitigkeit: Wird häufig zum Trainieren und Vergleichen verschiedener maschineller Lernmodelle verwendet, insbesondere bei der Bildklassifizierung.

Weitere Details zum Modelltraining und zur Datensatzverwaltung findest du im Abschnitt Datensatzstruktur.

Kann der ImageNette-Datensatz mit verschiedenen Bildgrößen verwendet werden?

Ja, der ImageNette-Datensatz ist auch in zwei verkleinerten Versionen erhältlich: ImageNette160 und ImageNette320. Diese Versionen helfen bei der schnelleren Erstellung von Prototypen und sind besonders nützlich, wenn die Rechenleistung begrenzt ist.

Ausbildungsbeispiel mit ImageNette160

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-cls.pt")

# Train the model with ImageNette160
results = model.train(data="imagenette160", epochs=100, imgsz=160)
# Start training from a pretrained *.pt model with ImageNette160
yolo detect train data=imagenette160 model=yolov8n-cls.pt epochs=100 imgsz=160

Weitere Informationen findest du unter Schulung mit der ImageNette160 und ImageNette320.

Welche praktischen Anwendungen gibt es für den ImageNette-Datensatz?

Der ImageNette-Datensatz wird ausgiebig genutzt in:

  • Bildungseinstellungen: Für die Ausbildung von Anfängern in maschinellem Lernen und Computer Vision.
  • Software-Entwicklung: Für das schnelle Prototyping und die Entwicklung von Bildklassifizierungsmodellen.
  • Deep Learning Forschung: Bewertung und Benchmarking der Leistung verschiedener Deep Learning-Modelle, insbesondere Convolutional Neural Networks (CNNs).

Im Abschnitt Anwendungen findest du detaillierte Anwendungsfälle.



Erstellt am 2023-11-12, Aktualisiert am 2024-07-04
Autoren: glenn-jocher (6)

Kommentare