Share via


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 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:

  1. Meld u aan en open uw werkruimte.
  2. Selecteer in de rechterbovenhoek Azure Machine Learning-studio werkbalk de naam van uw werkruimte.
  3. U kunt de waarden kopiëren uit de sectie die wordt weergegeven.

Schermopname: Zoek de waarden die u wilt gebruiken in de CLI-opdracht.

Als u de taak wilt verzenden, voert u de volgende opdrachten uit in een terminalvenster:

  1. Wijzig mappen in de r-job-azureml.

    cd r-job-azureml
    
  2. 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.

  3. Zorg ervoor dat u de meest recente versies van de CLI en de ml extensie hebt:

    az upgrade
    
  4. 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>"
    
  5. 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:

  1. Meld u aan bij Azure Machine Learning Studio.
  2. Selecteer uw werkruimte als deze nog niet is geladen.
  3. Selecteer Taken in het linkernavigatievenster.
  4. Selecteer de naam van het experiment die u hebt gebruikt om uw model te trainen.
  5. 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.

  1. Zodra de taak is voltooid, selecteert u Uitvoer en logboeken om uitvoer van de taak weer te geven.

  2. 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.

  3. Selecteer + Model registreren op de werkbalk bovenaan.

    Schermopname van de sectie Taak van studio met de sectie Uitvoer geopend.

  4. 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 .

  5. Voor taakuitvoer selecteert u modellen, de map die het model bevat.

  6. Selecteer Volgende.

  7. Geef de naam op die u wilt gebruiken voor uw model. Voeg desgewenst beschrijving, versie en tags toe.

  8. Selecteer Volgende.

  9. Bekijk de informatie.

  10. Selecteer Registreren.

Boven aan de pagina ziet u een bevestiging dat het model is geregistreerd. De bevestiging ziet er ongeveer als volgt uit:

Schermopname van een voorbeeld van geslaagde registratie.

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.