Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten

Protokollierung von Ultralytics YOLO unter Verwendung der MLflow-Integration

Abirami Vina

4 Min. Lesezeit

30. Dezember 2024

Entdecken Sie, wie die MLflow-Integration und -Protokollierung Ihre Ultralytics YOLO aufwerten und eine bessere Verfolgung für Computer-Vision-Anwendungen ermöglichen kann.

Sie können sich ein Computer-Vision-Projekt wie ein Puzzle vorstellen. Im Wesentlichen bringen Sie Maschinen bei, visuelle Daten zu verstehen, indem Sie Puzzleteile zusammensetzen, wie z. B. das Sammeln eines Datensatzes, das Trainieren eines Modells und dessen Bereitstellung. Wenn alles passt, erhalten Sie ein System, das Bilder und Videos effektiv analysieren und verstehen kann.

Aber genau wie bei einem echten Puzzle ist nicht jeder Teil eines Computer-Vision-Projekts einfach. Aufgaben wie Experimentverfolgung (Aufzeichnung Ihrer Einstellungen, Konfigurationen und Daten) und Protokollierung (Erfassung von Ergebnissen und Leistungskennzahlen) können viel Zeit und Mühe kosten. Obwohl diese Schritte entscheidend für die Verbesserung und Verfeinerung Ihrer Computer-Vision-Modelle sind, können sie sich manchmal wie ein Engpass anfühlen.

Hier kommen dieYOLO Ultralytics und ihre Integration in MLflow ins Spiel. Modelle wie Ultralytics YOLO11 unterstützen eine breite Palette von Computer-Vision-Aufgaben, einschließlich Objekterkennung, Instanzsegmentierung und Bildklassifizierung. Diese Fähigkeiten ermöglichen die Erstellung interessanter Bildverarbeitungsanwendungen. Durch die Möglichkeit, sich auf Integrationen wie die MLflow-Integration zu verlassen, können sich Bildverarbeitungsingenieure auf das Modell selbst konzentrieren, anstatt sich mit den Details zu beschäftigen. 

Insbesondere die MLflow-Integration vereinfacht den Prozess, indem sie verschiedene Metriken, Parameter und Artefakte während des gesamten Trainingsprozesses protokolliert. In diesem Artikel werden wir untersuchen, wie die MLflow-Integration funktioniert, welche Vorteile sie bietet und wie Sie sie nutzen können, um Ihre Ultralytics YOLO zu optimieren.

Was ist MLflow?

MLflow ist eine Open-Source-Plattform (entwickelt von Databricks), die entwickelt wurde, um den gesamten Lebenszyklus des maschinellen Lernens zu rationalisieren und zu verwalten. Sie umfasst den Prozess der Entwicklung, des Deployments und der Wartung von Modellen für maschinelles Lernen. 

MLflow umfasst die folgenden Schlüsselkomponenten:

  • Experimentverfolgung: Diese Komponente konzentriert sich auf die Aufzeichnung wichtiger Details wie Modelleinstellungen, Ergebnisse und Dateien für jeden Modelltrainingslauf. Sie hilft Ihnen, Modelle zu vergleichen, zu sehen, wie sich Änderungen auf die Leistung auswirken, und das beste Modell zu finden.
  • Modell-Register: Es ist wie ein Speichersystem für Ihre Modelle, in dem Sie die verschiedenen Versionen track und nach Phasen wie Test, Staging und Produktion organisieren können.
  • Projektpaketierung: MLflow vereinfacht das Bündeln Ihrer Machine-Learning-Projekte, einschließlich des Codes, der Einstellungen und der erforderlichen Tools, sodass diese team- und umgebungsübergreifend konsistent gemeinsam genutzt und verwendet werden können.
  • Modellbereitstellung: MLflow bietet Tools, um Ihre trainierten Modelle schnell an Orte wie Workstations oder Cloud-Plattformen wie AWS und Azure zu deployen, sodass sie für den realen Einsatz bereit sind.
__wf_reserved_inherit
Abb. 1. Komponenten von MLflow.

Die Komponenten von MLflow machen den Prozess des maschinellen Lernens einfacher und effizienter zu verwalten. Durch diese Integration ermöglicht Ultralytics die Verwendung der MLflow-Funktion zur Verfolgung von Experimenten, um Parameter, Metriken und Artefakte während des Trainings von YOLO zu protokollieren. Es macht es einfach, verschiedene YOLO track und zu vergleichen.

Die MLflow-Integration optimiert das Training

Nachdem wir nun behandelt haben, was MLflow ist, wollen wir uns die Details der MLflow-Integration und die angebotenen Funktionen ansehen. 

Die MLflow-Integration wurde entwickelt, um den Trainingsprozess effizienter und organisierter zu gestalten, indem sie wichtige Aspekte Ihrer Computer-Vision-Experimente automatisch verfolgt und protokolliert. Sie ermöglicht drei Haupttypen der Protokollierung: Metriken, Parameter und Artefakte.

Hier ist eine genauere Betrachtung der einzelnen Logging-Typen:

  • Metrikprotokollierung: Metriken sind quantitative Werte, die die Leistung Ihres Modells während des Trainings messen. Beispielsweise werden Metriken wie Genauigkeit, Präzision, Recall oder Verlust am Ende jeder Epoche (ein vollständiger Durchlauf durch Ihren Datensatz) erfasst. 
  • Parameterprotokollierung: Parameter sind die Einstellungen, die Sie vor Beginn des Modelltrainings definieren, wie z. B. Lernrate, Batch-Größe (die Anzahl der in einem Trainingsschritt verarbeiteten Stichproben) und die Anzahl der Epochen. Diese Parameter beeinflussen das Verhalten und die Leistung Ihres Modells erheblich.
  • Artefaktprotokollierung: Artefakte sind die Ausgaben oder Dateien, die während des Trainings generiert werden. Dazu gehören wichtige Dateien wie Modellgewichte (die numerischen Werte, die Ihr Modell während des Trainings lernt), Konfigurationsdateien (die die Trainingseinstellungen speichern) und andere relevante Daten.
__wf_reserved_inherit
Abb. 2. Wichtige Logging-Funktionen der MLflow-Integration. Bild vom Autor.

Wie die MLflow-Integration funktioniert

Eine schrittweise Anleitung zur Aktivierung der MLflow-Integration finden Sie in der Ultralytics . Nach der Einrichtung verfolgt und protokolliert die Integration automatisch wichtige Details Ihrer Trainingsexperimente, wie oben beschrieben. Dadurch entfällt die Notwendigkeit der manuellen Nachverfolgung und Sie können sich auf die Verfeinerung Ihrer Modelle konzentrieren.

Mit der MLflow-Integration werden alle Ihre Trainingsläufe an einem Ort gespeichert, was den Vergleich von Ergebnissen und die Bewertung verschiedener Konfigurationen erleichtert. Durch den Vergleich protokollierter Ergebnisse können Sie die leistungsstärksten Konfigurationen identifizieren und diese Erkenntnisse zur Verbesserung Ihrer Modelle nutzen. Dies stellt sicher, dass Ihr Workflow effizienter, gut dokumentiert und reproduzierbar ist.

Jede Trainingseinheit ist als Experiment organisiert, das als Container für mehrere Durchläufe dient. Innerhalb eines Experiments können Sie alle zugehörigen Durchläufe anzeigen, ihre Leistung nebeneinander vergleichen und Trends über verschiedene Konfigurationen hinweg analysieren. 

Wenn Sie z. B. mit Ultralytics YOLOv8 verschiedene Lernraten oder Batchgrößen testen, werden alle zugehörigen Läufe zum einfachen Vergleich und zur Analyse unter demselben Experiment gruppiert, wie unten dargestellt.

__wf_reserved_inherit
Abb. 3. Sie können Experimente mithilfe der MLflow-Integration anzeigen.

MLflow bietet unterdessen auf der Ebene einzelner Durchläufe detaillierte Einblicke in die jeweilige Trainingseinheit. Sie können Metriken wie Genauigkeit, Verlust und Präzision über Epochen hinweg einsehen, die verwendeten Trainingsparameter (z. B. Batch-Größe und Lernrate) überprüfen und auf generierte Artefakte wie Modellgewichte und Konfigurationsdateien zugreifen. Diese Details werden in einem organisierten Format gespeichert, sodass es einfach ist, jeden Durchlauf erneut aufzurufen oder zu reproduzieren.

Die Wahl der MLflow-Integration: Warum sie sich auszeichnet

Wenn Sie die Ultralytics Dokumentation durchgehen und die verfügbaren Integrationen erkunden, werden Sie sich vielleicht fragen: Was zeichnet die MLflow-Integration aus, und warum sollte ich sie für meinen Arbeitsablauf wählen?

Mit Integrationen wie TensorBoard, die auch Tools zur Verfolgung von Metriken und zur Visualisierung von Ergebnissen bieten, ist es wichtig, die einzigartigen Eigenschaften zu verstehen, die die MLflow-Integration auszeichnen. 

Hier erfahren Sie, warum MLflow die ideale Wahl für Ihre YOLO sein könnte:

  • Benutzerfreundliche Oberfläche: Das MLflow-Dashboard erleichtert das Anzeigen von Experimenten, das Vergleichen von Durchläufen und das Analysieren von Ergebnissen, sodass Sie schnell die Konfigurationen mit der besten Leistung identifizieren können.
  • Benutzerdefinierte Metrikprotokollierung: Vision Engineers können zusätzlich zu den Standardmetriken auch benutzerdefinierte Metriken protokollieren, was eine detailliertere Analyse ermöglicht, die auf ihre spezifischen Projektanforderungen zugeschnitten ist.
  • Unterstützung für mehrsprachige Workflows: MLflow ist mit mehreren Programmiersprachen kompatibel, darunter Python, R und Java, was die Integration in verschiedene Pipelines für maschinelles Lernen erleichtert.

Praktische Anwendungen von YOLO11 und der MLflow-Integration

Um ein umfassenderes Verständnis dafür zu bekommen, wann Sie die MLflow-Integration nutzen können, lassen Sie uns eine KI-Anwendung im Gesundheitswesen betrachten, bei der Sie YOLO11 trainieren müssen, um Tumore in Röntgen- oder CT-Bildern detect . 

In einem solchen Szenario würde der Datensatz aus annotierten medizinischen Bildern bestehen. Sie müssten mit verschiedenen Konfigurationen experimentieren, z. B. mit der Anpassung von Lernraten, Batch-Größen und Bildvorverarbeitungstechniken, um eine optimale Genauigkeit zu erzielen. Da im Gesundheitswesen viel auf dem Spiel steht und Präzision und Zuverlässigkeit entscheidend sind, kann die manuelle Verfolgung jedes Experiments schnell unübersichtlich werden.

__wf_reserved_inherit
Abb. 4. Erkennung von Tumoren mit Ultralytics YOLO11.

Die MLflow-Integration begegnet dieser Herausforderung, indem sie automatisch die Parameter, Metriken und Artefakte jedes Experiments protokolliert. Wenn Sie beispielsweise die Lernrate ändern oder eine neue Augmentierungsstrategie anwenden, zeichnet MLflow diese Änderungen zusammen mit den Leistungsmetriken auf. Außerdem speichert MLflow trainierte Modellgewichte und -konfigurationen, wodurch sichergestellt wird, dass erfolgreiche Modelle einfach reproduziert und eingesetzt werden können. 

Dies ist nur ein Beispiel dafür, wie die MLflow-Integration das Experimentmanagement in Vision-KI-Anwendungen verbessert. Die gleichen Funktionen gelten auch für andere Computer-Vision-Anwendungen, einschließlich:

  • Autonomes Fahren: YOLO11 kann zur detect und classify Fußgängern, Fahrzeugen und Verkehrsschildern in Echtzeit eingesetzt werden, um die Sicherheit und Effizienz von selbstfahrenden Systemen zu verbessern.
  • Einzelhandelsanalytik: Modelle zur Objekterkennung können das Kundenverhalten überwachen, track Platzierung von Produkten track und den Bestand optimieren, indem sie die Aktivitäten in den Geschäften anhand von Videoübertragungen analysieren.
  • Sicherheit und Überwachung: Modelle können so trainiert werden, dass sie Anomalien detect oder Echtzeitaktivitäten in sensiblen Bereichen überwachen, um die Sicherheit zu erhöhen.

Vorteile der MLflow-Integration

Die MLflow-Integration mit YOLO macht die Verwaltung von Machine-Learning-Experimenten einfacher und effizienter. Durch die Automatisierung von Schlüsselaufgaben und die Organisation von allem, können Sie sich auf die Erstellung und Verbesserung Ihrer Modelle konzentrieren. Hier ist ein Blick auf die wichtigsten Vorteile:

  • Skaliert für große Projekte: Die Plattform verarbeitet mehrere Experimente und Modelle effizient und eignet sich daher für größere Teams und komplexe Arbeitsabläufe.
  • Detaillierte Experimenthistorie: Die Plattform führt eine vollständige Historie der Experimente, sodass Sie frühere Durchläufe erneut aufrufen, frühere Konfigurationen analysieren und aus früheren Ergebnissen lernen können.
  • Deaktivieren und Zurücksetzen von Optionen: MLflow-Logging kann bei Bedarf einfach deaktiviert und die Einstellungen auf die Standardwerte zurückgesetzt werden, was Flexibilität bietet, um sich an unterschiedliche Workflow-Anforderungen anzupassen.

Wesentliche Erkenntnisse

Die MLflow-Integration macht die Verwaltung und Optimierung von Ultralytics YOLO einfacher und effizienter. Durch die automatische Verfolgung wichtiger Details wie Parameter, Metriken und Artefakte vereinfacht sie den Prozess und macht die manuelle Verwaltung von Experimenten überflüssig. 

Ob Sie an Lösungen für das Gesundheitswesen wie der Tumorerkennung, der Verbesserung autonomer Fahrsysteme oder der Verbesserung der Einzelhandelsanalyse arbeiten, diese Integration trägt dazu bei, dass alles organisiert und reproduzierbar bleibt. Mit seiner intuitiven Benutzeroberfläche und Flexibilität ermöglicht MLflow es Entwicklern, sich auf die Entwicklung besserer Modelle und die Förderung von Innovationen in Vision AI-Anwendungen zu konzentrieren.

Treten Sie unserer Community bei und besuchen Sie unser GitHub-Repository, um mehr über KI zu erfahren. Auf unseren Lösungsseiten können Sie auch weitere Anwendungen von Computer Vision in der Fertigung oder KI in selbstfahrenden Autos entdecken.

Lasst uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise mit der Zukunft des maschinellen Lernens

Kostenlos starten