Azure Machine Learning-taken maken
De eerste stap voor het operationeel maken van een machine learning-model is het uitvoeren als een Azure Machine Learning-taak. U kunt afzonderlijke scripts uitvoeren als opdrachttaken of groepen scripts als pijplijntaak.
Het data science-team geeft u hun werk in een Jupyter-notebook waarin gegevens worden geladen, getransformeerd en getraind. Als u de code en het model voor productie wilt voorbereiden, moet u het volgende doen:
- Herstructureer het notebook in scripts.
- Raadpleeg de script(en) in de taakdefinitie.
- Activeer de taak om het model te trainen.
Code herstructureren naar scripts
Als u een machine learning-model gereed wilt maken voor productie, moet u eerst uw code voorbereiden op productie. Wanneer u een Jupyter-notebook hebt dat moet worden geconverteerd naar productiecode, moet u het volgende doen:
- Schone niet-essentiële code.
- Exporteer uw code naar Python-scripts.
- Gebruik functies in uw scripts.
Door functies in uw scripts te gebruiken, is het eenvoudiger om uw codekwaliteit te testen. Wanneer u een script hebt dat u wilt uitvoeren, kunt u een Azure Machine Learning-taak gebruiken om de code uit te voeren.
Azure Machine Learning-taak definiëren
Als u een taak in Azure Machine Learning wilt definiëren, kunt u een YAML-bestand maken. Of u nu één script wilt uitvoeren als een opdrachttaak of meerdere scripts sequentieel als een pijplijn. Voor zowel opdracht- als pijplijntaken moet u een YAML-bestand maken, met de details:
- Welke scripts moeten worden uitgevoerd.
- Wat de invoer en uitvoer zijn voor elk script.
- De berekening die wordt gebruikt om de scripts uit te voeren.
- De omgeving die moet worden geïnstalleerd op de berekening om de scripts uit te voeren.
Een voorbeeld van een opdrachttaak die gebruikmaakt van een geregistreerde gegevensasset als invoer bij het uitvoeren van het main.py
script, wordt weergegeven in de volgende YAML:
$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 het YAML-bestand vindt u de benodigde gegevens die u nodig hebt om het volgende op te nemen:
- De
code
map verwijst naar de lokale map, waarin de scripts worden opgeslagen die u wilt uitvoeren. Decommand
sleutel geeft aan dat hetmain.py
script in desrc
map moet worden uitgevoerd, met behulp van de waarde vaninputs.diabetes
voor dediabetes-csv
parameter. - Versie 1 van de geregistreerde gegevensasset
diabetes-data
in de Azure Machine Learning-werkruimte wordt gekoppeld aan de berekening die moet worden gebruikt als invoer voor het script. - Het rekenproces
aml-instance
wordt gebruikt om de scripts uit te voeren. - De nieuwste versie van de geregistreerde aangepaste
basic-env-scikit
omgeving wordt geïnstalleerd op het rekenproces voordat u het script uitvoert.
Als u de YAML-definitie van de taak wilt testen, kunt u deze activeren met behulp van de CLI v2.
Azure Machine Learning-taak activeren
Wanneer u een Azure Machine Learning-taak wilt uitvoeren, kunt u de CLI v2 gebruiken. De CLI v2 kan worden geïnstalleerd op uw lokale apparaat of u kunt De Azure Cloud Shell gebruiken.
Of u nu uitvoeringen wilt activeren vanaf uw lokale apparaat of met behulp van Azure Cloud Shell, moet u eerst de Azure Machine Learning-extensie installeren.
Gebruik de volgende opdracht om te installeren in Windows:
az extension add -n ml -y
Nadat u de Azure Machine Learning-extensie voor de CLI hebt geïnstalleerd en toegang hebt tot het Azure-abonnement waarmee u wilt werken, kunt u een Azure Machine Learning-taak indienen met behulp van de volgende opdracht:
az ml job create --file job.yml
Notitie
Ga naar de naslagdocumentatie voor az ml-taken voor meer informatie over het beheren van Azure Machine Learning-taken met de CLI (v2).