Een R-taak uitvoeren om een model te trainen
VAN TOEPASSING OP: Azure CLI ml-extensie v2 (huidige)
In dit artikel wordt uitgelegd hoe u het R-script gebruikt dat u hebt aangepast om in productie te worden uitgevoerd en hoe u dit kunt instellen als een R-taak met behulp van de Azure Machine Learning CLI V2.
Notitie
Hoewel de titel van dit artikel verwijst naar het trainen van een model, kunt u elk type R-script uitvoeren zolang het voldoet aan de vereisten die worden vermeld in het aanpassingsartikel.
Vereisten
- Een Azure Machine Learning-werkruimte.
- Een geregistreerde gegevensasset die door uw trainingstaak wordt gebruikt.
- Azure CLI en ml-extensie geïnstalleerd. Of gebruik een rekenproces in uw werkruimte, waarop de CLI vooraf is geïnstalleerd.
- Een rekencluster of rekenproces om uw trainingstaak uit te voeren.
- Een R-omgeving voor het rekencluster dat moet worden gebruikt om de taak uit te voeren.
Een map maken met deze structuur
Maak deze mapstructuur voor uw project:
📁 r-job-azureml
├─ src
│ ├─ azureml_utils.R
│ ├─ r-source.R
├─ job.yml
Belangrijk
Alle broncode wordt in de src
map weergegeven.
- De r-bron. R-bestand is het R-script dat u hebt aangepast om in productie te worden uitgevoerd. Zorg ervoor dat u de stappen volgt om uw model in dit script te kratten en te registreren.
- De azureml_utils. R-bestand is nodig. Gebruik deze broncode voor de inhoud van het bestand.
De taak YAML voorbereiden
Azure Machine Learning CLI v2 heeft verschillende YAML-schema's voor verschillende bewerkingen . U gebruikt het YAML-taakschema om een taak in te dienen in het job.yml-bestand dat deel uitmaakt van dit project.
U moet specifieke gegevens verzamelen die in de YAML moeten worden geplaatst:
- De naam van de geregistreerde gegevensasset die u gebruikt als gegevensinvoer (met versie):
azureml:<REGISTERED-DATA-ASSET>:<VERSION>
- De naam van de omgeving die u hebt gemaakt (met versie):
azureml:<R-ENVIRONMENT-NAME>:<VERSION>
- De naam van het rekencluster:
azureml:<COMPUTE-CLUSTER-NAME>
Tip
Voor Azure Machine Learning-artefacten waarvoor versies (gegevensassets, omgevingen) zijn vereist, kunt u de snelkoppelings-URI azureml:<AZUREML-ASSET>@latest
gebruiken om de nieuwste versie van dat artefact op te halen als u geen specifieke versie hoeft in te stellen.
Voorbeeld van YAML-schema voor het verzenden van een taak
Bewerk het job.yml bestand met het volgende. Zorg ervoor dat u de weergegeven <IN-BRACKETS-AND-CAPS>
waarden vervangt en de vierkante haken verwijdert.
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
# the Rscript command goes in the command key below. Here you also specify
# which parameters are passed into the R script and can reference the input
# keys and values further below
# Modify any value shown below <IN-BRACKETS-AND-CAPS> (remove the brackets)
command: >
Rscript <NAME-OF-R-SCRIPT>.R
--data_file ${{inputs.datafile}}
--other_input_parameter ${{inputs.other}}
code: src # this is the code directory
inputs:
datafile: # this is a registered data asset
type: uri_file
path: azureml:<REGISTERED-DATA-ASSET>@latest
other: 1 # this is a sample parameter, which is the number 1 (as text)
environment: azureml:<R-ENVIRONMENT-NAME>@latest
compute: azureml:<COMPUTE-CLUSTER-OR-INSTANCE-NAME>
experiment_name: <NAME-OF-EXPERIMENT>
description: <DESCRIPTION>
De taak verzenden
In de volgende opdrachten in deze sectie moet u mogelijk weten:
- De naam van de Azure Machine Learning-werkruimte
- De naam van de resourcegroep waarin de werkruimte zich bevindt
- Het abonnement waarin de werkruimte zich bevindt
Zoek deze waarden uit Azure Machine Learning-studio:
- Meld u aan en open uw werkruimte.
- Selecteer in de rechterbovenhoek Azure Machine Learning-studio werkbalk de naam van uw werkruimte.
- U kunt de waarden kopiëren uit de sectie die wordt weergegeven.
Als u de taak wilt verzenden, voert u de volgende opdrachten uit in een terminalvenster:
Wijzig mappen in de
r-job-azureml
.cd r-job-azureml
Meld u aan bij Azure. Als u dit doet vanuit een Azure Machine Learning-rekenproces, gebruikt u:
az login --identity
Als u zich niet in het rekenproces bevindt, laat
--identity
u deze weg en volgt u de prompt om een browservenster te openen om te verifiëren.Zorg ervoor dat u de meest recente versies van de CLI en de
ml
extensie hebt:az upgrade
Als u meerdere Azure-abonnementen hebt, stelt u het actieve abonnement in op het abonnement dat u voor uw werkruimte gebruikt. (U kunt deze stap overslaan als u alleen toegang hebt tot één abonnement.) Vervang door
<SUBSCRIPTION-NAME>
de naam van uw abonnement. Verwijder ook de vierkante<>
haken.az account set --subscription "<SUBSCRIPTION-NAME>"
Gebruik nu CLI om de taak in te dienen. Als u dit doet op een rekenproces in uw werkruimte, kunt u omgevingsvariabelen gebruiken voor de naam en resourcegroep van de werkruimte, zoals wordt weergegeven in de volgende code. Als u zich niet in een rekenproces bevindt, vervangt u deze waarden door de naam en resourcegroep van uw werkruimte.
az ml job create -f job.yml --workspace-name $CI_WORKSPACE --resource-group $CI_RESOURCE_GROUP
Zodra u de taak hebt ingediend, kunt u de status en resultaten controleren in Studio:
- Meld u aan bij Azure Machine Learning Studio.
- Selecteer uw werkruimte als deze nog niet is geladen.
- Selecteer Taken in het linkernavigatievenster.
- Selecteer de naam van het experiment die u hebt gebruikt om uw model te trainen.
- Selecteer de weergavenaam van de taak om details en artefacten van de taak weer te geven, inclusief metrische gegevens, afbeeldingen, onderliggende taken, uitvoer, logboeken en code die in de taak wordt gebruikt.
Model registreren
Als de trainingstaak is voltooid, moet u uw model registreren als u deze wilt implementeren. Begin in de studio vanaf de pagina met uw taakgegevens.
Zodra de taak is voltooid, selecteert u Uitvoer en logboeken om uitvoer van de taak weer te geven.
Open de map modellen om te controleren of crate.bin en MLmodel aanwezig zijn. Als dat niet het probleem is, controleert u de logboeken om te zien of er een fout is opgetreden.
Selecteer + Model registreren op de werkbalk bovenaan.
Gebruik het MLflow-modeltype niet, ook al is dit gedetecteerd. Wijzig het modeltype van de standaard-MLflow in Niet-opgegeven type. Als u deze als MLflow verlaat, treedt er een fout op .
Voor taakuitvoer selecteert u modellen, de map die het model bevat.
Selecteer Volgende.
Geef de naam op die u wilt gebruiken voor uw model. Voeg desgewenst beschrijving, versie en tags toe.
Selecteer Volgende.
Bekijk de informatie.
Selecteer Registreren.
Boven aan de pagina ziet u een bevestiging dat het model is geregistreerd. De bevestiging ziet er ongeveer als volgt uit:
Selecteer Klik hier om naar dit model te gaan. Als u de geregistreerde modelgegevens wilt weergeven.
Volgende stappen
Nu u een geregistreerd model hebt, leert u hoe u een R-model implementeert op een online (realtime) eindpunt.