Tutorial: Eseguire il training di un modello di classificazione delle immagini TensorFlow usando l'estensione Azure Machine Learning per Visual Studio Code (anteprima)
SI APPLICA A: estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)
Informazioni su come eseguire il training di un modello di classificazione delle immagini per riconoscere i numeri scritti a mano usando TensorFlow e l'estensione Azure Machine Learning per Visual Studio Code.
Importante
Questa funzionalità è attualmente in anteprima pubblica. Questa versione di anteprima viene fornita senza contratto di servizio, pertanto se ne sconsiglia l’uso per i carichi di lavoro in ambienti di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate.
Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.
In questa esercitazione si apprenderanno informazioni sulle attività seguenti:
- Informazioni sul codice
- Creare un'area di lavoro
- Eseguire il training di un modello
Prerequisiti
- Abbonamento di Azure. Se non se ne possiede una, iscriversi per provare la versione gratuita o a pagamento di Azure Machine Learning. Se si usa una sottoscrizione gratuita, sono supportati solo i cluster CPU.
- Installare Visual Studio Code, un editor di codice leggero multipiattaforma.
- Estensione studio di Azure Machine Learning per Visual Studio Code. Per le istruzioni di installazione, vedere la guida alla configurazione dell'estensione Azure Machine Learning Studio per Visual Studio Code
- CLI (v2). Per istruzioni sull'installazione, vedere Installare, configurare e installare l'interfaccia della riga di comando (v2)
- Clonare il repository guidato dalla community
git clone https://github.com/Azure/azureml-examples.git
Informazioni sul codice
Il codice per questa esercitazione usa TensorFlow per eseguire il training di un modello di Machine Learning di classificazione delle immagini che categorizza le cifre scritte a mano da 0 a 9. A tale scopo, crea una rete neurale che accetta i valori pixel di un'immagine da 28 pixel x 28 pixel come input e restituisce un elenco di 10 probabilità, una per ogni cifra classificata. L'aspetto dei dati è simile al seguente.
Creare un'area di lavoro
La prima operazione da effettuare per creare un'applicazione in Azure Machine Learning consiste nel creare un'area di lavoro. Un'area di lavoro contiene le risorse necessarie per eseguire il training dei modelli e i modelli con training esistenti. Per altre informazioni, vedere Che cos'è un'area di lavoro.
Aprire la directory azureml-examples/cli/jobs/single-step/tensorflow/mnist dal repository guidato dalla community in Visual Studio Code.
Nella barra attività di Visual Studio Code selezionare l'icona Azure per aprire la visualizzazione Azure Machine Learning.
Nella vista Azure Machine Learning, fare clic con il pulsante destro del mouse sul nodo della sottoscrizione e selezionare Crea area di lavoro.
Viene visualizzato un file di specifica. Configurare il file di specifica con le opzioni seguenti.
$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
Il file di specifica crea un'area di lavoro denominata
TeamWorkspace
nell'areaWestUS2
. Il resto delle opzioni definite nel file di specifica fornisce nomi descrittivi, descrizioni e tag per l'area di lavoro.Fare clic con il pulsante destro del mouse sul file di specifica e selezionare AzureML: Esegui YAML. La creazione di una risorsa usa le opzioni di configurazione definite nel file di specifica YAML e invia un processo usando l'interfaccia della riga di comando (v2). A questo punto, viene inviata una richiesta ad Azure per creare una nuova area di lavoro e risorse indipendenti nell'account. Dopo alcuni minuti, la nuova area di lavoro verrà visualizzata nel nodo della sottoscrizione.
Impostare
TeamWorkspace
come area di lavoro predefinita. Questa operazione posizionerà le risorse e i processi creati nell'area di lavoro per impostazione predefinita. Selezionare il pulsante Imposta area di lavoro di Azure Machine Learning nella barra di stato di Visual Studio Code e seguire le istruzioni per impostareTeamWorkspace
come area di lavoro predefinita.
Per altre informazioni sulle aree di lavoro, vedere Come gestire le risorse in VS Code.
Eseguire il training del modello
Durante il processo di training, viene eseguito il training di un modello TensorFlow elaborando i dati di training e i modelli di apprendimento incorporati al suo interno per ognuna delle rispettive cifre classificate.
Come le aree di lavoro e le destinazioni di calcolo, i processi di training vengono definiti usando i modelli di risorsa. Per questo esempio, la specifica viene definita nel file job.yml, che ha l'aspetto seguente:
$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
resources:
instance_type: Standard_NC12
instance_count: 3
experiment_name: tensorflow-mnist-example
description: Train a basic neural network with TensorFlow on the MNIST dataset.
Il file di specifica invia un processo di training denominato tensorflow-mnist-example
alla destinazione di calcolo creata di recente gpu-cluster
che esegue il codice nello script Python train.py. L'ambiente usato è uno degli ambienti curati forniti da Azure Machine Learning, che contiene TensorFlow e altre dipendenze software richieste per eseguire lo script di training. Per altre informazioni sugli ambienti curati, vedere Ambienti curati di Azure Machine Learning.
Per inviare il processo di training:
- Aprire il file job.yml.
- Fare clic con il pulsante destro del mouse nell'editor di testo e selezionare AzureML: Esegui YAML.
A questo punto, viene inviata una richiesta ad Azure per eseguire l'esperimento nella destinazione di calcolo selezionata nell'area di lavoro. Questo processo richiede alcuni minuti. L'intervallo di tempo per l'esecuzione del processo di training dipende da numerosi fattori, ad esempio il tipo di calcolo e le dimensioni dei dati di training. Per tenere traccia dello stato di avanzamento dell'esperimento, fare clic con il pulsante destro del mouse sul nodo esecuzione corrente e selezionare Visualizza processo nel portale di Azure.
Quando viene visualizzata la finestra di dialogo che richiede di aprire un sito Web esterno, selezionare Apri.
Al termine del training del modello, l'etichetta dello stato accanto al nodo di esecuzione viene aggiornata e mostra la dicitura "Completato".
Passaggi successivi
- Avviare Visual Studio Code integrato in Azure Machine Learning (anteprima)
- Per una procedura dettagliata su come modificare, eseguire il codice ed eseguire il debug in locale, vedere l'esercitazione Hello World in Python.
- Eseguire Jupyter Notebooks in Visual Studio Code usando un server Jupyter remoto.
- Per una procedura dettagliata su come eseguire il training con Azure Machine Learning all'esterno di Visual Studio Code, vedere Esercitazione: Eseguire il training di un modello e distribuirlo con Azure Machine Learning.