Erstellen von Azure Machine Learning-Aufträgen
Der erste Schritt zum Operationalisieren eines Machine Learning-Modells besteht in der Ausführung als Azure Machine Learning-Auftrag. Sie können einzelne Skripts als Befehlsaufträge oder mehrere Skripts als Pipeline ausführen.
Das Data Science-Team stellt Ihnen ihre Arbeit in einer Jupyter Notebook-Instanz bereit, in der Daten geladen, transformiert und trainiert werden. Zur Vorbereitung von Code und Modell für die Produktion sind folgende Schritte erforderlich:
- Umgestalten des Notebooks in Skripts.
- Verweisen auf die Skripts in der Auftragsdefinition.
- Auslösen des Auftrags zum Trainieren des Modells.
Umgestalten von Code in Skripts
Zur Vorbereitung eines Machine Learning-Modells für die Produktion müssen Sie zunächst den Code für die Produktion vorbereiten. Wenn Sie eine Jupyter Notebook-Instanz verwenden, die in Produktionscode konvertiert werden muss, sind folgende Schritte erforderlich:
- Bereinigen von unwichtigem Code.
- Exportieren von Code in Python-Skripts.
- Verwenden von Funktionen in den Skripts.
Durch die Verwendung von Funktionen in den Skripts ist es einfacher, die Codequalität zu testen. Zum Ausführen eines Skripts können Sie den Code mithilfe eines Azure Machine Learning-Auftrags ausführen.
Definieren eines Azure Machine Learning-Auftrags
Zum Definieren eines Auftrags in Azure Machine Learning können Sie eine YAML-Datei erstellen. Dabei spielt es keine Roll, ob Sie ein Skript als Befehlsauftrag oder mehrere Skripts sequenziell als Pipeline ausführen möchten. Sowohl für Befehls- als auch für Pipeline-Aufträge müssen Sie eine YAML-Datei erstellen, die folgende Angaben enthält:
- Welche Skripts ausgeführt werden sollen.
- Welche Eingaben und Ausgaben für die einzelnen Skripts vorgesehen sind.
- Die Compute-Instanz, die zum Ausführen der Skripts verwendet werden soll.
- Die Umgebung, die zum Ausführen der Skripts auf der Compute-Instanz installiert werden muss.
Im folgenden YAML-Code ist ein Beispiel für einen Befehlsauftrag dargestellt, bei dem bei der Ausführung des Skripts main.py
ein registriertes Datenobjekt als Eingabe verwendet wird.
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >-
python main.py
--diabetes-csv ${{inputs.diabetes}}
inputs:
diabetes:
path: azureml:diabetes-data:1
mode: ro_mount
environment: azureml:basic-env-scikit@latest
compute: azureml:aml-instance
experiment_name: diabetes-data-example
description: Train a classification model on diabetes data using a registered dataset as input.
In der YAML-Datei finden Sie die erforderlichen Angaben, die Sie einfügen müssen:
- Der
code
bezieht sich auf den lokalen Ordner, in dem die Skripts gespeichert sind, die Sie ausführen möchten. Dercommand
-Schlüssel gibt an, dass dasmain.py
-Skript im Ordnersrc
ausgeführt werden soll, wobei der Wertinputs.diabetes
für den Parameterdiabetes-csv
verwendet wird. - Version 1 des registrierten Datenobjekts
diabetes-data
im Azure Machine Learning-Arbeitsbereich wird in der Compute-Instanz zur Verwendung als Eingabe für das Skript bereitgestellt. - Die Compute-Instanz
aml-instance
wird zum Ausführen der Skripts verwendet. - Die neueste Version der registrierten benutzerdefinierten
basic-env-scikit
-Umgebung wird vor dem Ausführen des Skripts in der Compute-Instanz installiert.
Zum Testen der YAML-Definition des Auftrags können Sie sie mithilfe von CLI v2 auslösen.
Auslösen eines Azure Machine Learning-Auftrags
Zum Ausführen eines Azure Machine Learning-Auftrags können Sie CLI v2 verwenden. CLI v2 kann auf dem lokalen Gerät installiert werden. Alternativ kann auch Azure Cloud Shell verwendet werden.
Unabhängig davon, ob Sie Ausführungen über Ihr lokales Gerät auslösen oder Azure Cloud Shell verwenden möchten, Sie müssen zunächst die Azure Machine Learning-Erweiterung installieren.
Verwenden Sie zum Installieren unter Windows den folgenden Befehl:
az extension add -n ml -y
Wenn Sie die Azure Machine Learning-Erweiterung für die CLI installiert und Zugriff auf das gewünschte Azure-Abonnement haben, können Sie mit dem folgenden Befehl einen Azure Machine Learning-Auftrag übermitteln:
az ml job create --file job.yml
Hinweis
Weitere Informationen zum Verwalten von Azure Machine Learning-Aufträgen mit der CLI (v2) finden Sie in der Referenzdokumentation zum az ml-Auftrag.