Azure-Schulungsressourcen für den Modell-Generator
Im Folgenden finden Sie einen Leitfaden, der Ihnen hilft, mehr über Ressourcen zu erfahren, die zum Trainieren von Modellen in Azure mit Dem Modell-Generator verwendet werden.
Was ist ein Azure Machine Learning-Experiment?
Ein Azure Machine Learning-Experiment ist eine Ressource, die vor dem Ausführen der Modell-Generator-Schulung in Azure erstellt werden muss.
Das Experiment kapselt die Konfiguration und ergebnisse für eine oder mehrere Machine Learning-Schulungen. Experimente gehören zu einem bestimmten Arbeitsbereich. Wenn ein Experiment zum ersten Mal erstellt wird, wird der Name im Arbeitsbereich registriert. Alle nachfolgenden Ausführungen – wenn derselbe Experimentname verwendet wird – werden als Teil desselben Experiments protokolliert. Andernfalls wird ein neues Experiment erstellt.
Was ist ein Azure Machine Learning-Arbeitsbereich?
Ein Arbeitsbereich ist eine Azure Machine Learning-Ressource, die einen zentralen Ort für alle Azure Machine Learning-Ressourcen und Artefakte bereitstellt, die als Teil der Schulungsausführung erstellt wurden.
Zum Erstellen eines Azure Machine Learning-Arbeitsbereichs sind die folgenden Schritte erforderlich:
- Name: Ein Name für Ihren Arbeitsbereich zwischen 3 und 33 Zeichen. Namen dürfen nur alphanumerische Zeichen und Bindestriche enthalten.
- Region: Der geografische Standort des Rechenzentrums, in dem Ihr Arbeitsbereich und Ihre Ressourcen bereitgestellt werden. Es wird empfohlen, einen Standort in der Nähe des Standorts auszuwählen, an dem Sie oder Ihre Kunden sind.
- Ressourcengruppe: Ein Container, der alle zugehörigen Ressourcen für eine Azure-Lösung enthält.
Was ist eine Azure Machine Learning-Berechnung?
Ein Azure Machine Learning-Compute ist eine cloudbasierte Linux-VM, die für schulungen verwendet wird.
Zum Erstellen einer Azure Machine Learning-Berechnung sind die folgenden Werte erforderlich:
Name: Ein Name für die Berechnung zwischen 2 und 16 Zeichen. Namen dürfen nur alphanumerische Zeichen und Bindestriche enthalten.
Berechnungsgröße.
Der Modell-Generator kann einen der folgenden GPU-optimierten Computetypen verwenden:
Größe vCPU Arbeitsspeicher: GiB Temp storage (SSD) GiB GPU GPU-Speicher: GiB Max. Datenträger Max. NICs Standard_NC12 12 112 680 2 24 48 2 Standard_NC24 24 224 1440 4 48 64 4 Weitere Informationen zu GPU-optimierten Computetypen finden Sie in der Dokumentation LINUX-VM-Dokumentation der NC-Serie.
Berechnungspriorität.
- Niedrige Priorität: Geeignet für Vorgänge mit kürzeren Ausführungszeiten. Vorgänge können durch Unterbrechungen und mangelnde Verfügbarkeit beeinträchtigt werden. Diese Option kostet in der Regel weniger, da sie die Überschusskapazität in Azure nutzt.
- Dedizierte: Geeignet für Aufgaben beliebiger Dauer, aber insbesondere für lange Ausgeführte Aufträge. Aufgaben werden nicht durch Unterbrechungen oder mangelnde Verfügbarkeit beeinträchtigt. Diese Option kostet in der Regel mehr, da sie einen dedizierten Satz von Computeressourcen in Azure für Ihre Aufgaben reserviert.
Ausbildung
Schulungen zu Azure sind nur für das Modell-Generator-Imageklassifizierungsszenario verfügbar. Der Algorithmus, der zum Trainieren dieser Modelle verwendet wird, ist ein Deep Neural Network basierend auf der ResNet50-Architektur. Der Schulungsvorgang dauert einige Zeit, und die Zeitspanne kann je nach größe der ausgewählten Berechnung sowie der Menge der Daten variieren. Sie können den Fortschritt Ihrer Ausführung nachverfolgen, indem Sie den Link "Aktuelle Ausführung im Azure-Portal überwachen" in Visual Studio auswählen.
Befund
Nach Abschluss der Schulung werden ihrer Lösung zwei Projekte mit den folgenden Suffixen hinzugefügt:
ConsoleApp: Eine C#-Konsolen-App, die Startcode zum Erstellen der Vorhersagepipeline und zur Erstellung von Vorhersagen bereitstellt.
Modell-: Eine C# .NET Standard-App, die die Datenmodelle enthält, die das Schema der Eingabe- und Ausgabemodelldaten sowie die folgenden Ressourcen definieren:
- bestModel.onnx: Eine serialisierte Version des Modells im Open Neural Network Exchange (ONNX)-Format. ONNX ist ein Open Source-Format für KI-Modelle, das die Interoperabilität zwischen Frameworks wie ML.NET, PyTorch und TensorFlow unterstützt.
- bestModelMap.json: Eine Liste der Kategorien, die beim Erstellen von Vorhersagen verwendet werden, um die Modellausgabe einer Textkategorie zuzuordnen.
- MLModel.zip: Eine serialisierte Version der ML.NET-Vorhersagepipeline, die die serialisierte Version des Modells verwendet, bestModel.onnx- verwendet, um Vorhersagen zu erstellen und Ausgaben mithilfe der
bestModelMap.json
Datei zu ordnen.
Verwenden des Machine Learning-Modells
Die klassen ModelInput
und ModelOutput
im Model projekt definieren das Schema der erwarteten Eingabe bzw. Ausgabe des Modells.
In einem Bildklassifizierungsszenario enthält die ModelInput
zwei Spalten:
-
ImageSource
: Der Zeichenfolgenpfad des Bildspeicherorts. -
Label
: Die tatsächliche Kategorie, zu der das Bild gehört.Label
wird nur beim Training als Eingabe verwendet und muss beim Erstellen von Vorhersagen nicht bereitgestellt werden.
Die ModelOutput
enthält zwei Spalten:
-
Prediction
: Die vorhergesagte Kategorie des Bilds. -
Score
: Die Liste der Wahrscheinlichkeiten für alle Kategorien (die höchste gehört zumPrediction
).
Fehlerbehebung
Berechnung kann nicht erstellt werden
Wenn während der Azure Machine Learning-Berechnungserstellung ein Fehler auftritt, ist die Computeressource möglicherweise noch vorhanden, in einem fehlerhaften Zustand. Wenn Sie versuchen, die Computeressource mit demselben Namen neu zu erstellen, schlägt der Vorgang fehl. Gehen Sie wie folgt vor, um diesen Fehler zu beheben:
- Erstellen des neuen Computes mit einem anderen Namen
- Wechseln Sie zum Azure-Portal, und entfernen Sie die ursprüngliche Computeressource.