Hantera arbetsytetillgångar med CLI (v2)

Slutförd

I Azure Machine Learning är det vanligt att arbeta med tillgångar som beräkningsresurser, miljöer och datauppsättningar för att träna maskininlärningsmodeller. Med Azure CLI kan du enkelt skapa och hantera dessa tillgångar.

Du vill träna maskininlärningsmodellen för att förutsäga kundomsättning på den arbetsyta som du skapade. Om du vill köra notebook-filen som tränar modellen måste du skapa en beräkningsresurs och miljö på Azure Machine Learning-arbetsytan. Notebook-filen använder en CSV-datauppsättning och för att referera till dessa data skapar du även en datauppsättning på arbetsytan.

Du får lära dig hur du använder Azure CLI (v2) för att skapa beräkningsresurser, en miljö och en datauppsättning på Azure Machine Learning-arbetsytan.

Beräkningsresurser

Om du vill köra en Python-anteckningsbok eller ett skript på Azure Machine Learning-arbetsytan behöver du en beräkningsresurs. Det finns två typer av beräkningsresurser som du oftast använder för att träna en modell:

  • Beräkningsinstans: En beräkningsinstans är en molnbaserad arbetsyta som du kan använda som utvecklingsmiljö. Du kan använda verktyg som Jupyter och VS Code med en beräkningsinstans för att samarbeta i notebook-filer och skript. Du kan välja vm-storleken på beräkningsinstansen och starta och stoppa den manuellt eller automatiskt baserat på ett schema.
  • Beräkningskluster: Ett beräkningskluster är en infrastruktur för hanterad beräkning som skalas upp automatiskt när ett jobb skickas. Du kan skapa ett beräkningskluster med en eller flera noder baserat på vilken VM-storlek du väljer. Ett beräkningskluster används oftare för att köra schemalagda jobb och pipelines.

Skapa en beräkningsinstans

Data science-teamet berättade att de vill använda Azure Machine Learning för att samarbeta mer effektivt i maskininlärningsprojekt. De flesta dataexperter arbetade med Jupyter på sin egen dator. Det enklaste sättet att migrera kundomsättningsprojektet till Azure Machine Learning är genom att ta data och notebook-filen och köra notebook-filen på en beräkningsinstans.

Om du vill skapa en beräkningsinstans med CLI (v2) kan du använda az ml compute create kommandot . Du måste bestämma dig för följande parametrar:

  • --resource-group: Namnet på resursgruppen. Om du har konfigurerat en standardgrupp med az configure --defaults group=<name>behöver du inte använda den här parametern.
  • --workspace-name: Namnet på Azure Machine Learning-arbetsytan. Om du har konfigurerat en standardarbetsyta med az configure --defaults workspace=<name>behöver du inte använda den här parametern.
  • --name: Namnet på beräkningsmålet. Namnet ska vara färre än 24 tecken och unikt i en Azure-region.
  • --size: VM-storlek som ska användas för beräkningsinstansen. Läs mer om VM-serier och storlekar som stöds.
  • --type: Typ av beräkningsmål. Om du vill skapa en beräkningsinstans använder du ComputeInstance.

Kommentar

Alla kodexempel förutsätter att det finns en standardresursgrupp och Azure Machine Learning-arbetsytan konfigurerad.

Om du vill skapa en beräkningsinstans för att träna kundomsättningsmodellen använder du det här kommandot:

az ml compute create --name "testdev-vm" --size STANDARD_DS11_V2 --type ComputeInstance

Mer information om hur du skapar beräkningsresurser med CLI (v2) finns i az ml compute create.

Skapa ett beräkningskluster

Du planerar att först träna kundomsättningsmodellen genom att köra notebook-filen med beräkningsinstansen. När du lyckas vill du träna modellen med ett beräkningskluster. Att träna modellen med ett beräkningskluster innebär att du kan schemalägga ett jobb för att träna om modellen när den behövs.

Om du vill skapa ett beräkningskluster med CLI (v2) använder az ml compute create du kommandot . Det finns några ytterligare inställningar som du kan inkludera när du skapar ett beräkningskluster:

  • --type: Om du vill skapa ett beräkningskluster använder du AmlCompute.
  • --min-instances: Det minsta antalet noder som används i klustret. Standardvärdet är 0 noder.
  • --max-instances: Det maximala antalet noder. Standardvärdet är 4.
az ml compute create --name "aml-cluster" --size STANDARD_DS11_V2 --max-instances 2 --type AmlCompute

Mer information om hur du skapar och hanterar ett beräkningskluster finns i guiden om hur du skapar ett Azure Machine Learning-beräkningskluster.

Skapa en miljö

Du förväntar dig att använda ett beräkningskluster i framtiden för att träna om modellen när det behövs. För att träna modellen på antingen en beräkningsinstans eller ett beräkningskluster måste alla nödvändiga paket installeras på beräkningen för att köra koden. I stället för att installera dessa paket manuellt varje gång du använder en ny beräkning kan du lista dem i en miljö.

Varje Azure Machine Learning-arbetsyta har som standard en lista över utvalda miljöer när du skapar arbetsytan. Utvalda miljöer innehåller vanliga maskininlärningspaket för att träna en modell.

Om du behöver skapa en egen miljö eftersom ingen av de utvalda miljöerna uppfyller dina behov kan du göra det med az ml environment create kommandot :

az ml environment create --file basic-env.yml

Om du vill skapa en miljö på din arbetsyta som du kan återanvända när som helst måste du referera till en YAML-fil. I den filen kan du ange:

  • Namnet på miljön som den kommer att kallas i arbetsytan.
  • Versionen av miljön.
  • Docker-basavbildningen.
  • Den lokala sökvägen till Conda-miljöfilen som visar de paket och bibliotek som du vill använda.

Conda-miljöfilen kan vara en annan YAML som den här:

name: basic-env-ml
channels:
  - conda-forge
dependencies:
  - python=3.8
  - pip
  - pip:
    - numpy
    - pandas
    - scikit-learn
    - matplotlib
    - azureml-mlflow

YAML-filen för att skapa miljön, som refererar till Conda-miljöfilen, ser sedan ut så här:

$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: basic-env-scikit
version: 1
image: mcr.microsoft.com/azureml/openmpi3.1.2-ubuntu18.04
conda_file: file:conda-envs/basic-env-ml.yml

Kontrollera att båda YAML-filerna lagras lokalt på samma dator som du kör kommandot från för att skapa miljön. Om du vill ha en exempelmiljö som skapats med CLI (v2) går du till lagringsplatsen för Azure Machine Learning-exempel.

Om du vill hämta en lista över alla miljöer på arbetsytan använder az ml environment list du kommandot . Både utvalda och anpassade miljöer visas i den här listan. Alla miljöer finns också i Azure Machine Learning Studio på fliken Miljöer.

Läs mer om kommandon för att hantera Azure ML-miljöer.

Alla registrerade miljöer bevaras på Azure Machine Learning-arbetsytan och kan användas när du vill träna en modell eller köra ett jobb.

Skapa en datamängdstillgång

Dataexperten ger dig Python Notebook och en CSV-datauppsättning. Du vill köra notebook-filen på den beräkningsinstans som du skapade för att testa träningen av modellen på Azure Machine Learning-arbetsytan. Du kan ladda upp CSV-datamängden till beräkningsinstansen, men efter testningen vill du träna modellen med ett beräkningskluster. För att göra den mer framtidssäker vill du ladda upp CSV:en till ett datalager som är anslutet till arbetsytan och skapa en datauppsättning som refererar till csv:en som ska användas när modellen tränas.

Du har CSV:en som en lokal fil på datorn. Med hjälp av CLI (v2) skapar du en datamängdstillgång på arbetsytan. Azure Machine Learning laddar sedan automatiskt upp CSV:en till arbetsytans standarddatalager. Standarddatalagringen är lagringskontot som skapades tillsammans med arbetsytan, såvida du inte ändrar det.

Om du vill skapa en datamängdstillgång från en lokal fil måste du:

  • Skapa en YAML-specifikationsfil som refererar till den lokala filen.
  • Kör kommandot az ml dataset create.

I YAML-filen ska du inkludera:

  • Namnet på datamängdstillgången som visas på arbetsytan.
  • Versionen av datamängdstillgången.
  • Den lokala sökvägen till datafilen.
  • Alternativt kan du lägga till en beskrivning.

Lagra YAML-filen och CSV-datauppsättningen någonstans på datorn:

$schema: https://azuremlschemas.azureedge.net/latest/asset.schema.json
name: customer-churn-data
version: 1
local_path: customer-churn.csv
description: Dataset pointing to customer churn CSV on local computer. Data will be uploaded to default datastore.

Gå till mappen som innehåller YAML-filen och CSV från kommandotolken. Sedan kör du kommandot för att skapa datauppsättningen på arbetsytan:

az ml dataset create --file data-local-path.yml

När data laddas upp till standarddatalagringen visas förloppet för att ladda upp data i prompten. När den är klar visas datauppsättningen på fliken Datauppsättningar på din arbetsyta när du öppnar Azure ML Studio. Eller så kan du visa en lista över alla datauppsättningar på arbetsytan med hjälp av listkommandot:

az ml dataset list

Läs mer om kommandon för att hantera Azure ML-datauppsättningstillgångar.

Datauppsättningen är nu tillgänglig för alla som har åtkomst till arbetsytan. När du tränar en modell genom att köra ett jobb kan du referera till datauppsättningen för att använda den som indata för jobbet.

Viktigt!

Du kan använda YAML-filer för att definiera konfigurationen när du skapar tillgångar som beräkning, miljöer och datauppsättningar med CLI (v2). Hitta fler exempel på YAML-filer som används för att skapa tillgångar i Azure Machine Learning-exempellagringsplatsen för CLI (v2).