Tutoriel : Entraîner un modèle de classification d’images TensorFlow en utilisant l’extension Visual Studio Code de Azure Machine Learning (préversion)
S’APPLIQUE À : Extension ml Azure CLI v2 (actuelle)
Découvrez comment entraîner un modèle de classification d’images pour reconnaître des chiffres écrits à la main à l’aide de TensorFlow et de l’extension Azure Machine Learning de 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
- Abonnement Azure. Si vous n’en avez pas, inscrivez-vous ou essayez la version gratuite ou payante d’Azure Machine Learning Si vous utilisez l’abonnement gratuit, seuls les clusters UC sont pris en charge.
- Installez Visual Studio Code, éditeur de code léger et multiplateforme
- Extension Azure Machine Learning Studio pour Visual Studio Code. Pour obtenir des instructions d’installation, consultez le Guide de configuration de l’extension d’Azure Machine Learning pour Visual Studio Code
- CLI (v2). Pour obtenir des instructions d’installation, consultez Installer, configurer et utiliser l’interface CLI (v2)
- Clonez le référentiel géré par la communauté.
git clone https://github.com/Azure/azureml-examples.git
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. Pour ce faire, il crée un réseau neuronal qui prend les valeurs de pixel d’une image 28 px x 28 px comme entrée, et génère une liste de 10 probabilités, une pour chacun des chiffres classifiés. Ceci est un exemple de ce à quoi ressemblent les données.
Créer un espace de travail
La première chose à faire pour générer une application dans Azure Machine Learning consiste à créer un espace de travail. Un espace de travail contient les ressources nécessaires à la formation des modèles ainsi que les modèles formés proprement dits. Pour plus d’informations, consultez Qu’est-ce qu’un espace de travail ?.
Ouvrez le répertoire azureml-examples/cli/jobs/single-step/tensorflow/mnist du référentiel géré par la communauté dans Visual Studio Code.
Dans la barre d’activité Visual Studio Code, sélectionnez l’icône Azure pour ouvrir la vue Azure Machine Learning.
Dans la vue Azure Machine Learning, cliquez avec le bouton droit sur le nœud de votre abonnement et sélectionnez Créer un espace de travail.
Un fichier de spécifications apparaît. Configurez le fichier de spécifications avec les options suivantes.
$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égionWestUS2
. 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.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.
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éfinirTeamWorkspace
comme votre espace de travail par défaut.
Pour plus d’informations sur les espaces de travail, consultez Comment gérer des ressources dans VS Code.
Entraîner le 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 présente de la façon suivante :
$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 tensorflow-mnist-example
. L’environnement utilisé est un des environnements organisés fournis par Azure Machine Learning qui contient TensorFlow et d’autres dépendances logicielles nécessaires 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 :
- Ouvrez le fichier job.yml.
- 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.
Une fois l’entraînement du modèle terminé, l’étiquette d’état en regard du nœud d’exécution est mise à jour avec la valeur « Terminé ».
Étapes suivantes
- Lancer Visual Studio Code intégré à Azure Machine Learning (préversion)
- Pour une procédure détaillée sur la modification, l’exécution et le débogage de code localement, consultez le tutoriel Python Hello World.
- Exécutez des notebooks Jupyter dans Visual Studio Code en utilisant un serveur Jupyter distant.
- Pour une procédure pas à pas d’un entraînement avec Azure Machine Learning en dehors de Visual Studio Code, consultez Tutoriel : Entraîner et déployer un modèle avec Azure Machine Learning.