Condividi tramite


Esercitazione: Addestrare un modello di classificazione delle immagini usando l'estensione di Azure Machine Learning per Visual Studio Code (anteprima)

SI APPLICA A:estensione ML dell'interfaccia della riga di comando di Azure v2 (corrente)

Questo articolo illustra come eseguire il training di un modello di classificazione delle immagini per riconoscere i numeri scritti a mano usando TensorFlow e l'estensione Visual Studio Code di Azure Machine Learning.

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

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 immagini da 28x28 pixel come input e quindi restituisce un elenco di 10 probabilità, uno per ognuna delle cifre classificate. L'esempio seguente illustra come appaiono i dati.

Screenshot che mostra un esempio di cifre MNIST.

Creare un'area di lavoro

Per creare un'applicazione in Azure Machine Learning, è prima necessario creare un'area di lavoro. Un'area di lavoro contiene le risorse per eseguire il training dei modelli e anche i modelli sottoposti a training. Per altre informazioni, vedere Che cos'è un'area di lavoro di Azure Machine Learning?

  1. In Visual Studio Code, aprire la directory azureml-examples/cli/jobs/single-step/tensorflow/mnist dal repository di esempi.

  2. Nella barra attività di Visual Studio Code selezionare l'icona Azure per aprire la visualizzazione Azure Machine Learning.

  3. In Machine Learning fare clic con il pulsante destro del mouse sul nodo della sottoscrizione e selezionare Crea area di lavoro.

    Screenshot che mostra l'opzione per creare un'area di lavoro.

  4. Viene visualizzato un file di specifica. Configurare il file di specifica con le opzioni seguenti e quindi salvarlo.

    $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'area WestUS2. Il resto delle opzioni definite nel file di specifica fornisce nomi descrittivi, descrizioni e tag per l'area di lavoro.

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

  6. 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 impostare TeamWorkspace come area di lavoro predefinita.

Per altre informazioni sulle aree di lavoro, vedere Gestire le risorse di Azure Machine Learning con l'estensione 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 si trova nella cartella azureml-examples/cli/jobs/single-step/tensorflow/mnist nel repository degli esempi.

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

  1. Aprire il file job.yml.
  2. 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.

Screenshot che mostra l'avanzamento dell'attività.

Al termine del training del modello, l'etichetta di stato accanto al nodo di esecuzione viene aggiornata a Completato.