kaggle

So verwenden Sie Kaggle für Computer Vision

Stefan
11 Min Read
kaggle

Kaggle ist eine Plattform für Datenwissenschaft und maschinelles Lernen, die vor allem für die Bereitstellung einer breiten Palette von Datensätzen und Wettbewerben bekannt ist. Es ist eine der beliebtesten Plattformen für Datenwissenschaftler und Enthusiasten des maschinellen Lernens mit der Verfügbarkeit kostenloser Ressourcen und öffentlich verfügbarer Datensätze.

In diesem umfassenden Handbuch erfahren Sie alles, was Sie über die Verwendung von Kaggle für Computer Vision-Aufgaben wissen müssen.

Was ist Kaggle?

Kaggle ist eine Online-Community, die Tools und Ressourcen für Data-Science- und Machine-Learning-Anwender anbietet. Die Plattform verfügt über etwa 50.000 öffentlich zugängliche Datensätze unterschiedlicher Themen, Größen, Formate und Modalitäten.

Kaggle ist vor allem als Plattform für das Teilen und Hosten einer Vielzahl von Datensätzen bekannt und akzeptiert Uploads und Downloads von Datensätzen für jedermann. Es bietet auch kostenlose Funktionen, darunter:

  • Ein Notebook, ähnlich wie Google Colab, mit dem Benutzer Code ausführen und Modelle erstellen können.
  • Die Möglichkeit, Wettbewerbe zu erstellen, bei denen Gastgeber Daten vorbereiten und Teilnehmer Code ausführen können, um auf Kaggle Notebooks gegeneinander anzutreten.
  • Eine kuratierte Modellbibliothek, die Benutzer von Google-nahen Organisationen wie TensorFlow, DeepMind, MediaPipe und anderen entdecken und verwenden können.

So verwenden Sie Roboflow-Notebooks auf Kaggle

Roboflow verfügt über viele (28+) Notebooks zum Trainieren modernster Computer-Vision-Modelle wie Ultralytics YOLOv8 , SAM , CLIP und RTMDet . Wir stellen diese Notebooks für die Verwendung auf verschiedenen Notebook-Plattformen wie Google Colab und Amazon SageMaker Studio Lab sowie Kaggle zur Verfügung.

Sie können eines unserer Trainings-Notebooks in Kaggle öffnen, indem Sie zu unserem GitHub-Repository gehen und auf den Link „In Kaggle öffnen“ für eines unserer Notebooks klicken.

So verwenden Sie Kaggle-Notebooks für Computer Vision

Mit Kaggle Notebooks können Sie Code in einer geschlossenen Umgebung ausführen, damit experimentieren und iterieren. Ein wesentlicher Vorteil von Google Colab und Kaggle Notebooks ist die Verfügbarkeit kostenloser GPU-Ressourcen, die für die Forschung und Entwicklung im Bereich maschinelles Lernen von entscheidender Bedeutung sind.

Kaggle Notebooks funktionieren ähnlich wie ein Jupyter Notebook, wobei ein Notebook aus mehreren Zellen besteht, die unabhängig oder nacheinander ausgeführt werden können. Mit einem Kaggle Notebook können Sie die neuesten State-of-the-Art-Modelle (YOLOv5, MobileNetv2, LLaMa 2 und mehr) ausprobieren und Proof-of-Concept-Anwendungsfälle direkt im Browser erstellen.

Um ein Notizbuch zu erstellen, klicken Sie im Seitenmenü unter „Erstellen“ auf „Neues Notizbuch“.

Anschließend wird Ihr Notebook in einem Jupyter-Notebook-Format angezeigt, in dem Code in Zellen ausgeführt werden kann. Obwohl die Grundlagen ähnlich sind, gibt es einige Unterschiede, angefangen beim Notebook-Menü auf der rechten Seite.

Mit Kaggle können Sie automatisch einen von über 50.000 Kaggle-Datensätzen in Ihre Notebook-Umgebung in Ihren Ordner herunterladen kaggle/input, sowie über 200 Modelle aus der Modellbibliothek.

Es stehen auch einige Optionen zur Auswahl, darunter das Hinzufügen einer GPU oder anderer Beschleuniger, die Auswahl zwischen Python und R, das Aktivieren der Persistenz, damit Daten zwischen Sitzungen nicht verloren gehen, sowie das Fixieren einer Umgebung, um die Reproduzierbarkeit aufrechtzuerhalten. Dies sind mehrere Funktionen, die weder in Colab noch in Jupyter verfügbar sind.

Es gibt auch eine Option zum Aktivieren/Deaktivieren der Internetnutzung. Dies ist eine selten genutzte Funktion außerhalb von Wettbewerben, bei denen die Internetnutzung eingeschränkt oder deaktiviert ist.

So verwenden Sie Datasets aus Kaggle

Da Kaggle alle Modalitäten, Typen und Formate von Datensätzen unterstützt, ist die Methode zur Interaktion mit Daten nicht standardisiert. Wie Sie Daten in Kaggle bekommen, hängt von jedem einzelnen Datensatz ab. Allerdings gibt es eine große Anzahl von Datensätzen, die eine CSV-Datei als Index für die Daten und ihre jeweiligen Anmerkungen verwenden.

Es gibt mehrere Möglichkeiten, die auf Kaggle gefundenen Datensätze zu verwenden.

Option 1: Importieren Sie den Datensatz in ein Kaggle-Notebook

Die einfachste Möglichkeit, mit Kaggle-Datensätzen zu interagieren, ist die Verwendung ihrer Notizbücher. In der Seitenleiste des Notizbuchs sollte ein Dropdown-Menü mit der Option „Daten hinzufügen“ angezeigt werden. Hier können Sie aus Ihren zuletzt angezeigten Datensätzen auswählen oder suchen. Nachdem Sie einen Datensatz gefunden haben, können Sie auf die Schaltfläche „Hinzufügen“ klicken.

Nachdem der Datensatz hinzugefügt wurde, wird er in einem Ordner im Pfad „kaggle/input“ angezeigt. Für das Beispiel des Ziffernerkenners wurde er zu „kaggle/input/digit-recognizer“ hinzugefügt.

Option 2: Herunterladen des Datensatzes

Die zweite Möglichkeit besteht darin, den Datensatz herunterzuladen, um ihn an anderer Stelle zu verwenden. Normalerweise wird er in einer ZIP-Datei namens „archive.zip“ heruntergeladen, die den Inhalt des Datensatzes enthält.

So laden Sie Datensätze zu Kaggle hoch

Kaggle ermöglicht jedem Benutzer, Datensätze auf seine Plattform hochzuladen, damit sie gespeichert und geteilt werden können.

Um einen Datensatz in Kaggle hochzuladen, klicken Sie unter der Schaltfläche „Erstellen“ auf die Schaltfläche „Datensatz erstellen“.

Sie können keine ganzen Ordnerverzeichnisse hochladen, aber es ist möglich, eine komprimierte ZIP-Datei hochzuladen, die dann hochgeladen werden kann. Kaggle entpackt die Dateien automatisch, wenn sie zur Plattform hinzugefügt werden.

Sie können ein Projekt aus Roboflow Universe oder auch Ihre eigenen Projekte hochladen. Auf Universe können Sie unsere kuratierten Favoriten , unsere kürzlich vorgestellten Datensätze durchsuchen oder in über 200.000 Datensätzen suchen .

Wenn Sie einen Datensatz gefunden haben, den Sie hochladen möchten, wählen Sie eine Version aus dem Projekt aus und laden Sie den Datensatz in Ihrem bevorzugten Format herunter. Eine Version ist eine Momentaufnahme Ihres Datensatzes, die die Bilder, Anmerkungen, Vorverarbeitung und Erweiterungen des Datensatzes zu einem bestimmten Zeitpunkt festhält, sodass Sie den genauen Datensatz konsistent referenzieren und reproduzieren können.

Laden Sie dann die zipDatei auf Kaggle hoch.

So verwenden Sie ein Modell von Kaggle

Kaggle verfügt über eine Bibliothek kuratierter Modelle von vielen mit Google verbundenen Organisationen oder Forschungsprojekten. Da sich Modelle wie Datensätze in Architektur, Typ und Modalität unterscheiden, verfügt Kaggle über keine standardisierte Möglichkeit, Inferenzen auf Modelle anzuwenden.

Um ein Modell zu verwenden, klicken Sie auf „Neues Notebook“, sobald Sie zur gewünschten Modellseite navigiert sind.

Es wird ein Kaggle-Notebook geöffnet, in dem Sie das Modell konfigurieren können. Das Modell wird in den kaggle/inputOrdner importiert, am selben Speicherort wie die Datensätze. Für dieses Beispielmodell keras-ocrwird es nach verschoben /kaggle/input/keras-ocr/tflite/dr/2/2.tflite.

So laden Sie ein trainiertes Modell auf Roboflow hoch

Wenn Sie sich entscheiden, ein neues Modell auf Kaggle zu optimieren oder zu trainieren, können Sie die Modellgewichte einfach in Roboflow hochladen, sodass Sie sie zum Beschriften neuer Daten mit Label Assist verwenden oder bereitstellen können!

Sie können Modellgewichte mit der Funktion „.deploy()“ in unserem Python SDK hochladen , indem Sie diesen Code verwenden:

project.version(1).deploy(“yolov5”, “*Pfad/zu/den/Trainingsergebnissen/*”)

Beispiel: Schlussfolgerungen zu einem Kaggle-Datensatz mit einem Roboflow-Modell

Nachdem Sie nun die Feinheiten der Verwendung von Kaggles kennen, testen wir ein Roboflow-Modell mit einem Kaggle-Datensatz. Nur einer der vielen, vielen Anwendungsfälle für Kaggles.

Um zu beginnen, können wir ein neues Notebook erstellen. Sobald wir in unserem Notebook sind, können wir einen Datensatz importieren. Versuchen wir für dieses Beispiel, die Leistung eines Flugzeugerkennungsmodells in Roboflow Universe anhand des Datensatzes „Flugzeuge in Satellitenbildern“ zu testen .

Sobald wir unser Notebook haben, können wir den Code ändern, den Kaggles uns standardmäßig zur Verfügung stellt, um Inferenzen auf unserem Datensatz auszuführen. Wir verwenden Supervision , um die Ergebnisse zu visualisieren und zu organisieren.

Um das obige Snippet zu verwenden, benötigen Sie ein kostenloses Roboflow-Konto. Fügen Sie Ihren Roboflow-API-Schlüssel als Wert zum api_keyParameter hinzu. Erfahren Sie, wie Sie Ihren Roboflow-API-Schlüssel abrufen .

In diesem Anwendungsfall können wir die Leistung eines Roboflow-Modells auf Kaggles für ein Modell mithilfe neuer Daten bewerten, die es noch nicht gesehen hat.

Die Konsole aus dem Kaggles-Notebook

Wir können die Daten visualisieren und sehen, wie sie sich entwickeln. Optional können wir die Daten in unser Projekt hochladen, wenn wir auf Beispiele stoßen, die nicht wie erwartet funktionieren.

Dieses Beispiel eines Kaggles-Notebooks ist ein kleines Beispiel für die gesamten Möglichkeiten von Kaggle. Experimentieren Sie ruhig!

Kaggle-Alternativen

Kaggles ermöglicht die schnelle und einfache Weitergabe von Datensätzen an ein großes Publikum, für bestimmte Aufgaben stehen jedoch Alternativen zur Verfügung. Obwohl eine anpassbare und flexible Entwicklungsumgebung nützlich ist, kann ihre Integration und Iteration auch schwierig sein.

Colab , ein weiteres Notebook-Produkt von Google, und Amazon SageMaker Studio Lab bieten ebenfalls kostenlose Ressourcen und eine virtuelle Umgebung zum Experimentieren, während Plattformen wie Hugging Face und Roboflow Universe eine Alternative zu Kaggles für das Hosten von Datensätzen und Modellen bieten.

Abschluss

In diesem Handbuch haben wir die Verwendung vieler Hauptfunktionen von Kaggles erläutert. Kaggles erleichtert das Erkunden und Experimentieren mit maschinellem Lernen und baut auf der Zusammenarbeit und Erfahrung der Community auf. Wir haben die Verwendung der Notebook-Funktion (einschließlich der Verwendung von Roboflow Notebooks), die Verwendung und das Hochladen von Datensätzen und die Verwendung eines Modells aus dem Kaggles-Modellrepository erläutert.

Zitieren Sie diesen Beitrag

Verwenden Sie den folgenden Eintrag, um diesen Beitrag bei Ihrer Recherche zu zitieren:

Leo Ueno . (6. September 2023). So verwenden Sie Kaggles für Computer Vision. Roboflow-Blog: https://blog.roboflow.com/how-to-use-kaggles-for-computer-vision/

Besprechen Sie diesen Beitrag

Wenn Sie Fragen zu diesem Blogbeitrag haben, starten Sie eine Diskussion im Roboflow-Forum .