Freigeben über


Trainieren eines Modells mit ML.NET

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 von ML.NET Model Builder das Bilddataset in ein Bildklassifizierungsmodell verwandeln.

Erstellen Ihres Projekts

  1. Öffnen Visual Studio, und wählen Sie „Neues Projekt erstellen“ aus.

Create a new project for the Model Builder

  1. Geben Sie in der Suchleiste „.NET“ ein, wählen Sie C# als Sprache und „Konsole“ als Plattform aus, und wählen Sie dann die Projektvorlage „C#-Konsolen-App (.NET Core)“ aus.

Create a new .NET project

  1. Gehen Sie im Konfigurationsfenster folgendermaßen vor:
  • Geben Sie dem Projekt einen Namen. Hier haben wir das Projekt MLNETTraining genannt.
  • Wählen Sie den Speicherort für Ihr Projekts aus.
  • Stellen Sie sicher, dass Place solution and project in the same directory deaktiviert ist.
  • Drücken Sie create, um das Projekt zu erstellen.

Configure your new project

Einrichten von Model Builder

Nun fügen Sie dem Projekt Model Builder hinzu.

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt MLNETTraining, und wählen Sie Add > Machine Learning aus.

Add machine learning to your project

Auf diese Weise öffnen Sie ML.NET Model Builder in einem neuen angedockten Toolfenster in Visual Studio. Model Builder führt Sie durch den Prozess der Erstellung eines Machine Learning-Modells.

List of model builder scenarios

Der erste Schritt besteht in der Auswahl des relevanten Szenarios. Nicht alle Szenarien unterstützen das ONNX-Format.

Wenn es sich bei der Trainingsumgebung um eine Azure-Cloud handelt, liegen die generierten Modelle im ONNX-Format vor und können problemlos von der Windows ML-App ohne Konvertierung genutzt werden. Wenn Sie Ihr Machine Learning-Modell jedoch lokal auf Ihrem Computer trainieren möchten, liegt das generierte Modell im ML.NET-Format vor.

  • Das lokale CPU-Training wird für alle Szenarios mit Ausnahme der Objekterkennung unterstützt.
  • Das lokale GPU-Training wird für die Bildklassifizierung unterstützt.
  • Das Azure-Training wird für die Bild- und Objektklassifizierung unterstützt.

In diesem Tutorial trainieren Sie das Bildklassifizierungsmodell in der Azure-Trainingsumgebung. Das Ausgabemodell weist das ONNX-Format auf. Ein Azure-Konto ist erforderlich, um das Training abzuschließen.

  1. Wählen Sie das Bildklassifizierungsszenario aus.

  2. Wählen Sie „Arbeitsbereich einrichten“ aus, um Ihre Azure-Trainingsumgebung einzurichten.

Set up your Azure workspace

Melden Sie sich in der oberen rechten Ecke bei dem Konto an, das Ihrem Azure-Abonnement zugeordnet ist. Gehen Sie im Menü, das darunter angezeigt wird, folgendermaßen vor:

  • Wählen Sie das relevante Abonnement aus.
  • Wählen Sie einen neuen Machine Learning-Arbeitsbereich aus, und erstellen Sie ihn.
  • Wählen Sie eine Computeressource aus, oder erstellen Sie diese.
  • Geben Sie Ihrem Arbeitsbereich den Namen ImageClassificationMLNET.

Configure your Azure workspace

Wichtig

Wenn Sie den Machine Learning-Arbeitsbereich nicht über Model Builder erstellen können, führen Sie die folgenden Schritte aus, um einen Arbeitsbereich manuell über Ihr Azure-Portal zu erstellen. Andernfalls können Sie mit Schritt 4 fortfahren.

Wählen Sie in Ihrem Azure-Konto „Ressource erstellen“ aus:

Available Azure resources

Suchen Sie in der Suchleiste nach Machine Learning.

Search for Machine Learning in the Azure resource list

Klicken Sie auf „Erstellen“, um einen neuen Machine Learning-Arbeitsbereich zu erstellen.

The Azure Machine Learning resource

Zum Erstellen eines neuen Arbeitsbereichs müssen Sie Ihren Abonnementnamen angeben, eine Ressourcengruppe auswählen oder eine neue Ressourcengruppe erstellen, dem Arbeitsbereich einen Namen geben und alle erforderlichen Parameter wie Region, Speicherkonto usw. definieren.

Set up your Azure ML workspace

Nachdem Sie Ihren Arbeitsbereich eingerichtet und eine neue Trainingsumgebung in ML.NET erstellt haben, können Sie mit dem nächsten Schritt fortfahren.

The ML.NET training environment

Warten Sie, bis die Bereitstellung der Machine Learning Services abgeschlossen wurde.

Der nächste Schritt besteht im Hinzufügen der Daten zu Model Builder.

  1. Navigieren Sie zum Speicherort des Bilddatensets, und wählen Sie den Trainingsordner mit den relevanten Lebensmittelkategorien aus. In diesem Tutorial trainieren Sie das Modell so, dass es Desserts, Suppe und Obst erkennt. Sie benötigen daher nur diese Kategorien im Datasetordner.

Add data to your ML model

Nun können Sie zum Trainingsteil übergehen!

Trainieren des Modells

Model Builder wertet viele Modelle mit unterschiedlichen Algorithmen und Einstellungen aus, um Ihnen das Modell mit der besten Leistung zu bieten.

  1. Wählen Sie „Weiter“ und dann „Training starten“ aus, um den Trainingsprozess zu starten. ML.Net Model Builder lädt zunächst Daten in Azure hoch, bereitet den Arbeitsbereich vor und initiiert dann den Trainingsprozess.

Train your Machine Learning model

Nachdem das Training durchgeführt wurde, wird eine Zusammenfassung der Trainingsergebnisse angezeigt.

Successful model training

Beste Genauigkeit: Zeigt die Genauigkeit des besten Modells an, das Model Builder gefunden hat. Eine höhere Genauigkeit bedeutet, dass die Vorhersage des Modells anhand der Testdaten präziser ist. In unserem Fall kann das Modell das richtige Ergebnis mit 95,42 % Konfidenz vorhersagen.

Auswertung der Ergebnisse

  1. Fahren Sie mit dem nächsten Schritt fort, um die Trainingsergebnisse auszuwerten.

  2. Wählen Sie das Bild aus dem Auswertungsordner des Datasets aus, und untersuchen Sie die Vorhersage.

Model evaluation results

Hinzufügen des Modells zur Projektmappe

ML.NET Model Builder kann Ihrer Projektmappe automatisch sowohl das Machine Learning-Modell als auch die Projekte zum Trainieren und Nutzen des Modells hinzufügen.

  1. Navigieren Sie zum Nutzungsteil des Trainingsprozesses, und wählen Sie „Zu Projektmappe hinzufügen“ aus. Dadurch wird das generierte Modell dem Projektmappenordner hinzugefügt.

Add your model to your solution

Im Projektmappen-Explorer sollten die Codedateien angezeigt werden, die von Model Builder generiert wurden, einschließlich des Modells: „bestModel.onnx“ im ONNX-Format.

Your model displayed in the solution explorer

Das Modell wurde in der Azure-Cloudumgebung trainiert, sodass das generierte Modell im ONNX-Format vorliegt.

Untersuchen Ihres Modells

  1. Klicken Sie mit der rechten Maustaste auf „bestModel.onnx“, und wählen Sie „Übergeordneten Ordner öffnen“ aus.

  2. Öffnen Sie Ihre Modelldatei mit dem Netron-Programm.

  3. Drücken Sie auf den Knoten input1, um die Modelleigenschaften zu öffnen.

Exploring the properties of your model

Wie Sie sehen können, erfordert das Modell ein 32-Bit-Float-Tensorobjekt (mehrdimensionales Array) als Eingabe und gibt Tensor float als Ausgabe zurück. So wie das Modell aufgebaut ist, gibt es nicht die Zeichenfolge einer vorausgesagten Bezeichnung zurück, sondern ein Array mit drei Zahlen, die jeweils die entsprechende Bezeichnung des Lebensmitteltyps darstellen. Sie müssen diese Werte extrahieren, um die richtige Vorhersage mit der Windows ML-App anzuzeigen.

Bezeichnung 1 Bezeichnung 2 Bezeichnung 3
0 1 2
Dessert Suppe Gemüse/Obst

Nächste Schritte

Nachdem Sie nun Ihr Machine Learning-Modell trainiert haben, können Sie es mit Windows Machine Learning in einer UWP-App bereitstellen.