Teilen über


Trainieren Ihres Modells mit Custom Vision

In der vorherigen Phase dieses Tutorials haben wir die Voraussetzungen für das Erstellen eines eigenen Windows Machine Learning-Modells und einer -App erläutert und ein Bilddataset heruntergeladen, das verwendet werden soll. In dieser Phase erfahren Sie, wie Sie mithilfe der webbasierten Custom Vision-Schnittstelle das Bilddataset in ein Bildklassifizierungsmodell verwandeln.

Azure Custom Vision ist ein Bilderkennungsdienst zum Erstellen, Bereitstellen und Optimieren benutzerdefinierter Bildbezeichner. Der Custom Vision-Dienst ist als Gruppe nativer SDKs sowie über eine webbasierte Oberfläche auf der Custom Vision-Website verfügbar.

Erstellen von Custom Vision-Ressourcen und eines Projekts

Erstellen einer Custom Vision-Ressource

Um den Custom Vision-Dienst zu verwenden, müssen Sie Custom Vision-Ressourcen in Azure erstellen.

  1. Navigieren Sie zur Hauptseite Ihres Azure-Kontos, und wählen Sie Create a resource aus.

Azure resources selection

  1. Suchen Sie im Suchfeld nach Custom Vision, und Sie gelangen zum Azure Marketplace. Wählen Sie die Option Create Custom Vision aus, um das Dialogfeld auf der Seite „Custom Vision erstellen“ zu öffnen.

Packages selection

  1. Wählen Sie auf der Dialogfeldseite „Custom Vision“ Folgendes aus:
  • Wählen Sie sowohl Training- als auch Prediction-Ressourcen aus.
  • Wählen Sie das Abonnement aus, um bereitgestellte Ressourcen zu verwalten. Wenn Ihr Azure-Abonnement nicht im Menü angezeigt wird, melden Sie sich ab, und öffnen Sie Ihr Azure-Konto mit denselben Anmeldeinformationen erneut, mit denen Sie Ihr Konto geöffnet haben.
  • Erstellen Sie eine neue Ressourcengruppe, und weisen Sie ihr einen Namen zu. In diesem Tutorial haben wir den Namen MLTraining verwendet, aber Sie können auch einen eigenen Namen auswählen oder die vorhandene Ressourcengruppe verwenden, wenn Sie über eine verfügen.
  • Geben Sie Ihrem Projekt einen Namen. In diesem Tutorial haben wir den Namen classificationApp verwendet, aber Sie können einen beliebigen Namen Ihrer Wahl verwenden.
  • Legen Sie sowohl für Training- als auch Prediction-Ressourcen den Standort als (USA) USA, Osten und den Tarif als Free FO fest.
  1. Drücken Sie Review + create, um Ihre Custom Vision-Ressourcen bereitzustellen. Es kann einige Minuten dauern, bis die Ressourcen bereitgestellt sind.

Deploy a new Custom Vision resource

Erstellen eines neuen Projekts in Custom Vision

Nachdem Sie Ihre Ressource erstellt haben, ist es an der Zeit, Ihr Trainingsprojekt in Custom Vision zu erstellen.

  1. Navigieren Sie in Ihrem Webbrowser zur Seite Custom Vision, und wählen Sie Sign in aus. Melden Sie sich mit demselben Konto an, mit dem Sie sich auch beim Azure-Portal angemeldet haben.

  2. Wählen Sie New Project aus, um ein neues Projektdialogfeld zu öffnen.

Create a new project

  1. Erstellen Sie wie folgt ein neues Projekt:
  • Name: FoodClassification.
  • Description: Klassifizierung verschiedener Arten von Lebensmitteln.
  • Resource: Behalten Sie dieselbe Ressource bei, die Sie zuvor geöffnet haben – ClassificationApp [F0].
  • Project Types: classification
  • Classification Types: Multilabel (Multiple tags per image)
  • Domains: Food (compact).
  • Export Capabilities: Basic platforms (Tensorflow, CoreML, ONNX, ...)

Hinweis

Um in das ONNX-Format zu exportieren, stellen Sie sicher, dass Sie die Domäne Food (compact) auswählen. Nicht kompakte Domänen können nicht nach ONNX exportiert werden.

Wichtig

Wenn Ihr angemeldetes Konto einem Azure-Konto zugeordnet ist, zeigt die Dropdownliste „Ressourcengruppe“ alle Ihre Azure-Ressourcengruppen an, die eine Custom Vision Service-Ressource enthalten. Wenn keine Ressourcengruppe verfügbar ist, sollten Sie sich vergewissern, dass Sie sich an customvision.ai mit demselben Konto angemeldet haben, das Sie auch für die Anmeldung am Azure-Portal verwendet haben.

  1. Nachdem Sie das Dialogfeld ausgefüllt haben, wählen Sie Create project aus.

Finalize your project

Hochladen des Trainingsdatasets

Nachdem Sie Ihr Projekt erstellt haben, laden Sie ein zuvor vorbereitetes Dataset mit Lebensmittelbildern aus Kaggle Open Datasets hoch.

  1. Wählen Sie Ihr FoodClassification-Projekt aus, um die webbasierte Benutzeroberfläche der Custom Vision-Website zu öffnen.

  2. Wählen Sie die Schaltfläche Add images und dann Browse local files aus.

Add images dialog

  1. Navigieren Sie zum Speicherort des Bilddatasets, und wählen Sie den Trainingsordner vegetable-fruit aus. Wählen Sie alle Bilder im Ordner und dann open aus. Die Option für das Tagging wird geöffnet.

  2. Geben Sie vegetable-fruit in das Feld My Tags ein, und drücken Sie Upload.

Upload images

Warten Sie, bis die erste Gruppe von Bildern in Ihr Projekt hochgeladen wurde, und drücken Sie dann done. Die Tagauswahl wird auf die gesamte Gruppe von Bildern angewendet, die Sie zum Hochladen ausgewählt haben. Aus diesem Grund ist es einfacher, Bilder aus bereits vordefinierten Gruppen von Bildern hochzuladen. Die Tags für einzelne Bilder können nach dem Hochladen immer geändert werden.

Image upload progress

  1. Nachdem die erste Gruppe von Bildern erfolgreich hochgeladen wurde, wiederholen Sie den Vorgang noch zweimal, um die Bilder der Desserts und Suppen hochzuladen. Stellen Sie sicher, dass Sie sie mit den relevanten Tags bezeichnen.

Am Ende verfügen Sie über drei verschiedene Gruppen von Bildern, die für das Training bereit sind.

Image tags display

Trainieren der Modellklassifizierung

Sie werden jetzt das Modell trainieren, um Gemüse, Suppe und Desserts aus dem Satz von Bildern zu klassifizieren, die Sie im vorherigen Teil heruntergeladen haben.

  1. Um den Trainingsprozess zu starten, wählen Sie die Schaltfläche Train in der oberen rechten Ecke aus. Die Klassifizierung verwendet die Bilder, um ein Modell zu erstellen, das die visuellen Qualitäten der einzelnen Tags identifiziert.

Train button

Es besteht die Möglichkeit, den Schwellenwert für die Wahrscheinlichkeit mithilfe des Schiebereglers in der linken oberen Ecke zu ändern. Der Schwellenwert für die Wahrscheinlichkeit legt den Grad der Konfidenz fest, den eine Vorhersage aufweisen muss, um als richtig angesehen zu werden. Wenn der Schwellenwert für die Wahrscheinlichkeit zu hoch ist, erhalten Sie eine korrektere Klassifizierung, aber der Umfang der Erkennung ist geringer. Wenn der Schwellenwert für die Wahrscheinlichkeit hingegen zu niedrig ist, werden Sie viele weitere Klassifizierungen erkennen, jedoch mit einer geringeren Konfidenz oder mehr False Positive-Ergebnissen.

In diesem Tutorial können Sie den Schwellenwert für die Wahrscheinlichkeit bei 50 % belassen.

  1. Hier verwenden wir den Quick Training-Prozess. Advanced Training verfügt über mehr Einstellungen und ermöglicht es Ihnen, die für das Training verwendete Zeit spezifisch einzustellen, aber wir benötigen diesen Grad der Kontrolle hier nicht. Drücken Sie Train, um den Trainingsprozess zu initiieren.

Choose training type

Ein schneller Trainingsprozess wird nur wenige Minuten in Anspruch nehmen. Während dieser Zeit werden auf der Registerkarte Performance Informationen über den Trainingsprozess angezeigt.

Training process

Auswerten und Testen

Auswertung der Ergebnisse

Nach Abschluss des Trainings wird die Zusammenfassung der ersten Trainingsiteration angezeigt. Sie enthält die Schätzung der Modellleistung – Genauigkeit und Trefferquote.

  • Die Genauigkeit gibt den Anteil der richtig identifizierten Klassifizierungen an. In unserem Modell beträgt die Genauigkeit 98,2 %. Wenn unser Modell also ein Bild klassifiziert, wird es wahrscheinlich richtig vorhergesagt.
  • Die Trefferquote gibt den Anteil der tatsächlichen Klassifizierungen an, die richtig identifiziert wurden. In unserem Modell beträgt die Trefferquote 97,5 %, sodass unser Modell die große Mehrheit der dargestellten Bilder ordnungsgemäß klassifiziert.
  • AP steht für „Zusätzliche Leistung“ (Additional Performance). Dies bietet eine zusätzliche Metrik, die die Genauigkeit und die Trefferquote bei unterschiedlichen Schwellenwerten zusammenfasst.

Model training evaluation

Das Modell testen

Bevor Sie das Modell exportieren, können Sie seine Leistung testen.

  1. Wählen Sie Quick Test in der oberen rechten Ecke der oberen Menüleiste, um ein neues Testfenster zu öffnen.

Test button

In diesem Fenster können Sie eine URL des zu testenden Bilds angeben oder Browse local files auswählen, um ein lokal gespeichertes Bild zu verwenden.

Select image for testing

  1. Wählen Sie Browse local files aus, navigieren Sie zum Lebensmitteldataset, und öffnen Sie einen Validierungsordner. Wählen Sie ein beliebiges Bild aus dem Ordner fruit-vegetable aus, und drücken Sie open.

Das Ergebnis der Tests wird auf dem Bildschirm angezeigt. In unserem Test hat der Modus das Bild erfolgreich mit einer Sicherheit von 99,8 % klassifiziert.

Test classification results

Sie können die Vorhersage für das Training auf der Registerkarte Predictions verwenden, um die Modellleistung zu verbessern. Weitere Informationen finden Sie unter Verbessern der Klassifizierung.

Hinweis

Möchten Sie mehr über Azure Custom Vision-APIs erfahren? Die Dokumentation zum Custom Vision-Dienst enthält weitere Informationen zum Custom Vision-Webportal und -SDK.

Exportieren des Modells nach ONNX

Nachdem wir das Modell trainiert haben, können wir es nach ONNX exportieren.

  1. Wählen Sie die Registerkarte Performance und dann Export aus, um ein Exportfenster zu öffnen.

Export button

  1. Wählen Sie ONNX aus, um Ihr Modell in das ONNX-Format zu exportieren.

Choose your format

  1. Sie können bei Bedarf die ONNX 16 float-Option auswählen, aber in diesem Tutorial müssen wir keine Einstellungen ändern. Wählen Sie Export and Download aus.

Choose your platform

  1. Öffnen Sie die heruntergeladene ZIP-Datei, und extrahieren Sie die Datei model.onnx daraus. Diese Datei enthält das Klassifizierungsmodell.

Herzlichen Glückwunsch! Sie haben das Klassifizierungsmodell erfolgreich erstellt und exportiert.

Nächste Schritte

Nachdem wir nun über ein Klassifizierungsmodell verfügen, besteht der nächste Schritt darin, eine Windows-Anwendung zu erstellen und lokal auf Ihrem Windows-Gerät auszuführen.