Partager via


Tutoriel : Entraîner un modèle de classification d’images à l’aide de l’extension Visual Studio Code Azure Machine Learning (préversion)

APPLIES TO :Extension Azure ML CLI v2 (actuelle)

Cet article explique comment entraîner un modèle de classification d’images pour reconnaître des nombres écrits manuellement à l’aide de TensorFlow et de l’extension Azure Machine Learning Visual Studio Code.

Important

Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service et n’est pas recommandée pour les charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge.

Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.

Dans ce tutoriel, vous allez apprendre à effectuer les tâches suivantes :

  • Comprendre le code
  • Créer un espace de travail
  • Effectuer l’apprentissage d’un modèle

Prérequis

Comprendre le code

Le code de ce tutoriel utilise TensorFlow pour entraîner un modèle Machine Learning de classification d’images qui classe les chiffres manuscrits de 0 à 9. Il le fait en créant un réseau neuronal qui prend les valeurs de pixels des images de 28 x 28 pixels comme entrée, puis génère une liste de 10 probabilités, une pour chacun des chiffres en cours de classification. L’exemple suivant montre à quoi ressemblent les données.

Capture d’écran montrant un exemple de chiffres MNIST.

Créer un espace de travail

Pour créer une application dans Azure Machine Learning, vous devez d’abord créer un espace de travail. Un espace de travail contient les ressources permettant d’entraîner des modèles et également les modèles entraînés eux-mêmes. Pour plus d’informations, consultez Qu’est-ce qu’un espace de travail Azure Machine Learning ?

  1. Dans Visual Studio Code, ouvrez le répertoire azureml-examples/cli/jobs/single-step/tensorflow/mnist à partir du référentiel d’exemples.

  2. Dans la barre d’activité Visual Studio Code, sélectionnez l’icône Azure pour ouvrir la vue Azure Machine Learning.

  3. Sous Machine Learning, cliquez avec le bouton droit sur votre nœud d’abonnement, puis sélectionnez Créer un espace de travail.

    Capture d’écran montrant l’option permettant de créer un espace de travail.

  4. Un fichier de spécifications apparaît. Configurez le fichier de spécification avec les options suivantes, puis enregistrez-le.

    $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
    

    Le fichier de spécification crée un espace de travail appelé TeamWorkspace dans la région WestUS2. Le reste des options définies dans le fichier de spécification fournissent un nom convivial, des descriptions et des étiquettes pour l’espace de travail.

  5. Cliquez avec le bouton droit sur le fichier de spécification et sélectionnez Azure-ML : Exécuter YAML. La création d’une ressource utilise les options de configuration définies dans le fichier de spécifications YAML et envoie un travail en utilisant l’interface CLI (v2). À ce stade, une demande est envoyée à Azure pour créer un nouvel espace de travail et ses ressources dépendantes dans votre compte. Après quelques minutes, le nouvel espace de travail apparaît dans votre nœud d’abonnement.

  6. Définissez TeamWorkspace comme votre espace de travail par défaut. Cela place les ressources et les travaux que vous créez dans l’espace de travail par défaut. Sélectionnez le bouton Définir l’espace de travail Azure Machine Learning dans la barre d’état de Visual Studio Code, puis suivez les invites pour définir TeamWorkspace comme votre espace de travail par défaut.

Pour plus d’informations sur les espaces de travail, consultez Gérer les ressources Azure Machine Learning avec l’extension VS Code.

Effectuer l’apprentissage du modèle

Lors du processus d’entraînement, un modèle TensorFlow est entraîné en traitant les données d’entraînement et les patterns d’entraînement incorporés pour chacun des chiffres classifiés.

Comme les espaces de travail et les cibles de calcul, les travaux d’entraînement sont définis avec des modèles de ressources. Pour cet exemple, la spécification est définie dans le fichier job.yml , qui se trouve dans le dossier azureml-examples/cli/jobs/single-step/tensorflow/mnist dans le référentiel d’exemples.

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

Ce fichier de spécification soumet un travail d’entraînement appelé tensorflow-mnist-example à la cible de calcul gpu-cluster récemment créée qui exécute le code dans le script Python train.py. L’environnement utilisé est l’un des environnements organisés fournis par Azure Machine Learning, qui contient TensorFlow et d’autres dépendances logicielles requises pour exécuter le script d’entraînement. Pour plus d’informations sur les environnements organisés, consultez Environnements organisés Azure Machine Learning.

Pour soumettre le travail d’entraînement :

  1. Ouvrez le fichier job.yml.
  2. Cliquez avec le bouton droit sur le fichier dans l’éditeur de texte et sélectionnez Azure-ML : Exécuter YAML.

À ce stade, une demande est envoyée à Azure pour exécuter votre expérience sur la cible de calcul sélectionnée dans votre espace de travail. Cette opération prend plusieurs minutes. La durée d’exécution du travail d’entraînement est influencée par plusieurs facteurs tels que le type de calcul et la taille des données d’entraînement. Pour suivre la progression de votre expérience, cliquez avec le bouton droit sur le nœud d’exécution actif et sélectionnez Afficher le travail sur le portail Azure.

Quand la boîte de dialogue vous invitant à ouvrir un site web externe s’affiche, sélectionnez Ouvrir.

Capture d’écran montrant la progression du travail.

Lorsque le modèle a terminé l'entraînement, l'étiquette d'état à côté du nœud d'exécution est mise à jour pour afficher Terminé.