Condividi tramite


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

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.

Cifre MNIST

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.

  1. Aprire la directory azureml-examples/cli/jobs/single-step/tensorflow/mnist dal repository guidato dalla community in Visual Studio Code.

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

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

    Creare un'area di lavoro

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

  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.

Tenere traccia dello stato dell'esperimento

Al termine del training del modello, l'etichetta dello stato accanto al nodo di esecuzione viene aggiornata e mostra la dicitura "Completato".

Passaggi successivi