Träna en TensorFlow-modell för bildklassificering med hjälp av Visual Studio Code-tillägget för Azure Machine Learning (förhandsversion)
GÄLLER FÖR:Azure CLI ml-tillägg v2 (aktuellt)
Lär dig hur du tränar en bildklassificeringsmodell för att identifiera handskrivna tal med TensorFlow och Azure Machine Learning Visual Studio Code-tillägget.
I den här självstudien går du igenom följande aktiviteter:
- Förstå koden
- Skapa en arbetsyta
- Skapa ett GPU-kluster för träning
- Träna en modell
Krav
- En Azure-prenumeration. Om du inte har någon kan du registrera dig för att prova den kostnadsfria eller betalda versionen av Azure Machine Learning. Om du använder den kostnadsfria prenumerationen stöds endast CPU-kluster.
- Installera Visual Studio Code, en enkel kodredigerare för flera plattformar.
- Azure Machine Learning Studio Visual Studio Code-tillägget. Installationsinstruktioner finns i installationsguiden för Azure Machine Learning Visual Studio Code
- CLI (v2). Installationsanvisningar finns i Installera, konfigurera och använda CLI (v2)
- Klona den community-drivna lagringsplatsen
git clone https://github.com/Azure/azureml-examples.git
Förstå koden
Koden för den här självstudien använder TensorFlow för att träna en maskininlärningsmodell för bildklassificering som kategoriserar handskrivna siffror mellan 0 och 9. Det gör det genom att skapa ett neuralt nätverk som tar pixelvärdena på 28 x 28 bildpunkter som indata och matar ut en lista med 10 sannolikheter, en för var och en av de siffror som klassificeras. Nedan visas ett exempel på hur data ser ut.
Skapa en arbetsyta
Det första du måste göra för att skapa ett program i Azure Machine Learning är att skapa en arbetsyta. En arbetsyta innehåller resurser för att träna modeller samt de tränade modellerna själva. Mer information finns i vad som är en arbetsyta.
Öppna katalogen azureml-examples/cli/jobs/single-step/tensorflow/mnist från den communitydrivna lagringsplatsen i Visual Studio Code.
I aktivitetsfältet i Visual Studio Code väljer du Azure-ikonen för att öppna Azure Machine Learning-vyn.
I Azure Machine Learning-vyn högerklickar du på din prenumerationsnod och väljer Skapa arbetsyta.
En specifikationsfil visas. Konfigurera specifikationsfilen med följande alternativ.
$schema: https://azuremlschemas.azureedge.net/latest/workspace.schema.json name: TeamWorkspace location: WestUS2 display_name: team-ml-workspace description: A workspace for training machine learning models tags: purpose: training team: ml-team
Specifikationsfilen skapar en arbetsyta med namnet
TeamWorkspace
iWestUS2
regionen. Resten av alternativen som definierats i specifikationsfilen innehåller egna namn, beskrivningar och taggar för arbetsytan.Högerklicka på specifikationsfilen och välj Azure ML: Kör YAML. När du skapar en resurs används de konfigurationsalternativ som definierats i YAML-specifikationsfilen och ett jobb skickas med hjälp av CLI (v2). Nu görs en begäran till Azure om att skapa en ny arbetsyta och beroende resurser i ditt konto. Efter några minuter visas den nya arbetsytan i din prenumerationsnod.
Ange
TeamWorkspace
som standardarbetsyta. När du gör det placeras resurser och jobb som du skapar på arbetsytan som standard. Välj knappen Ange Azure ML-arbetsyta i statusfältet i Visual Studio Code och följ anvisningarna för att angeTeamWorkspace
som standardarbetsyta.
Mer information om arbetsytor finns i hantera resurser i VS Code.
Skapa ett GPU-kluster för träning
Ett beräkningsmål är den beräkningsresurs eller miljö där du kör träningsjobb. Mer information finns i dokumentationen om Azure Machine Learning-beräkningsmål.
I Azure Machine Learning-vyn expanderar du noden för arbetsytan.
Högerklicka på noden Beräkningskluster i arbetsytans beräkningsnod och välj Skapa beräkning
En specifikationsfil visas. Konfigurera specifikationsfilen med följande alternativ.
$schema: https://azuremlschemas.azureedge.net/latest/compute.schema.json name: gpu-cluster type: amlcompute size: Standard_NC12 min_instances: 0 max_instances: 3 idle_time_before_scale_down: 120
Specifikationsfilen skapar ett GPU-kluster med namnet
gpu-cluster
med högst 3 Standard_NC12 VM-noder som automatiskt skalar ned till 0 noder efter 120 sekunders inaktivitet.Mer information om VM-storlekar finns i storlekar för virtuella Linux-datorer i Azure.
Högerklicka på specifikationsfilen och välj Azure ML: Kör YAML.
Efter några minuter visas det nya beräkningsmålet i noden Compute > Compute-kluster på din arbetsyta.
Träna bildklassificeringsmodell
Under träningsprocessen tränas en TensorFlow-modell genom bearbetning av träningsdata och inlärningsmönster som är inbäddade i den för var och en av de respektive siffrorna som klassificeras.
Precis som arbetsytor och beräkningsmål definieras träningsjobb med hjälp av resursmallar. I det här exemplet definieras specifikationen i filen job.yml som ser ut så här:
$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
code: src
command: >
python train.py
environment: azureml:AzureML-tensorflow-2.4-ubuntu18.04-py37-cuda11-gpu:48
compute: azureml:gpu-cluster
experiment_name: tensorflow-mnist-example
description: Train a basic neural network with TensorFlow on the MNIST dataset.
Den här specifikationsfilen skickar ett träningsjobb med namnet tensorflow-mnist-example
till det nyligen skapade gpu-cluster
datormålet som kör koden i train.py Python-skript. Miljön som används är en av de organiserade miljöer som tillhandahålls av Azure Machine Learning som innehåller TensorFlow och andra programvaruberoenden som krävs för att köra träningsskriptet. Mer information om organiserade miljöer finns i Azure Machine Learning-organiserade miljöer.
Så här skickar du träningsjobbet:
- Öppna filen job.yml .
- Högerklicka på filen i textredigeraren och välj Azure ML: Kör YAML.
Nu skickas en begäran till Azure för att köra experimentet på det valda beräkningsmålet på din arbetsyta. Den här processen tar flera minuter. Hur lång tid träningsjobbet ska köras påverkas av flera faktorer som beräkningstyp och träningsdatastorlek. Om du vill spåra förloppet för experimentet högerklickar du på den aktuella körningsnoden och väljer Visa jobb i Azure-Portal.
När dialogrutan som begär att öppna en extern webbplats visas väljer du Öppna.
När modellen är klar med träningen uppdateras statusetiketten bredvid körningsnoden till "Slutförd".
Nästa steg
I den här självstudien går du igenom följande aktiviteter:
- Förstå koden
- Skapa en arbetsyta
- Skapa ett GPU-kluster för träning
- Träna en modell
Nästa steg finns i:
- Skapa och hantera Azure Machine Learning-resurser med Visual Studio Code.
- Anslut Visual Studio Code till en beräkningsinstans för en fullständig utvecklingsupplevelse.
- En genomgång av hur du redigerar, kör och felsöker kod lokalt finns i självstudiekursen om Python hello-world.
- Kör Jupyter Notebooks i Visual Studio Code med hjälp av en fjärransluten Jupyter-server.
- En genomgång av hur du tränar med Azure Machine Learning utanför Visual Studio Code finns i Självstudie: Träna och distribuera en modell med Azure Machine Learning.