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 seine Arbeit in einem Jupyter Notebook bereit, in dem Daten geladen, transformiert und trainiert werden. Zur Vorbereitung von Code und Modell für die Produktion sind folgende Schritte erforderlich:
- Gestalte das Notebook in Skripte um.
- 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 Rechnerressource, die zum Ausführen des 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
codebezieht 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 Ordnersrcausgeführt werden soll, wobei der Wertinputs.diabetesfür den Parameterdiabetes-csvverwendet wird. - Version 1 des registrierten Datenobjekts
diabetes-dataim Azure Machine Learning-Arbeitsbereich wird an die Rechneressource angehängt, um als Eingabe für das Skript verwendet zu werden. - Die Compute-Instanz
aml-instancewird 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.