Partager via


Tutoriel : Entraîner et déployer un modèle Azure Machine Learning

S’applique à :icône oui IoT Edge 1.1

Important

La date de fin de support IoT Edge 1.1 était le 13 décembre 2022. Consultez le cycle de vie des produits Microsoft pour plus d’informations sur la prise en charge de ce produit, service, technologie ou API. Pour plus d’informations sur la mise à jour vers la dernière version d’IoT Edge, consultez Mettre à jour IoT Edge.

Dans cet article, nous effectuons les tâches suivantes :

  • Utilisez Azure Machine Learning Studio pour entraîner un modèle Machine Learning.
  • Emballer le modèle entraîné en une image de conteneur.
  • Déployez l’image conteneur en tant que module Azure IoT Edge.

Machine Learning Studio est un bloc fondamental utilisé pour expérimenter, entraîner et déployer des modèles Machine Learning.

Les étapes décrites dans cet article peuvent être généralement effectuées par les scientifiques des données.

Dans cette section du didacticiel, vous allez apprendre à :

  • Créez des notebooks Jupyter dans un espace de travail Azure Machine Learning pour entraîner un modèle d'apprentissage automatique.
  • Conteneurisez le modèle d'apprentissage automatique entraîné.
  • Créez un module IoT Edge à partir du modèle Machine Learning conteneurisé.

Conditions préalables

Cet article fait partie d’une série de tutoriels sur l’utilisation de Machine Learning sur IoT Edge. Chaque article de la série s’appuie sur le travail de l’article précédent. Si vous êtes arrivé directement à cet article, consultez le premier article de la série.

Configurer Azure Machine Learning

Nous utilisons Machine Learning Studio pour héberger les deux notebooks Jupyter et les fichiers associés. Ici, nous créons et configurons un projet Machine Learning. Si vous n’avez pas utilisé Jupyter ou Machine Learning Studio, voici deux documents d’introduction :

Remarque

Une fois le service configuré, Machine Learning est accessible à partir de n’importe quel ordinateur. Pendant l’installation, vous devez utiliser la machine virtuelle de développement, qui contient tous les fichiers dont vous aurez besoin.

Installer l'extension Azure Machine Learning pour Visual Studio Code

Visual Studio Code sur la machine virtuelle de développement doit avoir cette extension installée. Si vous exécutez sur une autre instance, réinstallez l’extension comme décrit dans Configurer l’extension Visual Studio Code.

Créer un compte Azure Machine Learning

Pour approvisionner des ressources et exécuter des charges de travail sur Azure, connectez-vous avec vos informations d’identification de compte Azure.

  1. Dans Visual Studio Code, ouvrez la palette de commandes en sélectionnant Afficher> lapalette de commandes dans la barre de menus.

  2. Entrez la commande Azure: Sign In dans la palette de commandes pour démarrer le processus de connexion. Suivez les instructions pour terminer la connexion.

  3. Créez une instance de calcul Machine Learning pour exécuter votre charge de travail. Dans la palette de commandes, entrez la commande Azure ML: Create Compute.

  4. Sélectionnez votre abonnement Azure.

  5. Sélectionnez + Créer un espace de travail Azure ML, puis entrez le nom turbofandemo.

  6. Sélectionnez le groupe de ressources que vous avez utilisé pour cette démonstration.

  7. Vous devez voir la progression de la création de l’espace de travail dans le coin inférieur droit de votre fenêtre Visual Studio Code : Création d’un espace de travail : turobofandemo. Cette étape peut prendre une minute ou deux.

  8. Attendez que l’espace de travail soit créé avec succès. Il doit être indiqué espace de travail Azure ML turbofandemo créé.

Charger des fichiers Jupyter Notebook

Nous allons charger des exemples de fichiers de notebook dans un nouvel espace de travail Machine Learning.

  1. Accédez à ml.azure.com et connectez-vous.

  2. Sélectionnez votre annuaire Microsoft, votre abonnement Azure et l’espace de travail Machine Learning nouvellement créé.

    Capture d’écran montrant la sélection de votre espace de travail Azure Machine Learning.

  3. Une fois connecté à votre espace de travail Machine Learning, accédez à la section Notebooks à l’aide du menu situé à gauche.

  4. Sélectionnez l’onglet Mes fichiers .

  5. Sélectionnez Charger (l’icône flèche vers le haut).

  6. Accédez à C :\source\IoTEdgeAndMlSample\AzureNotebooks. Sélectionnez tous les fichiers de la liste, puis sélectionnez Ouvrir.

  7. Activez la case à cocher J’approuve le contenu de ces fichiers .

  8. Sélectionnez Charger pour commencer le chargement. Sélectionnez Ensuite Terminé une fois le processus terminé.

Fichiers Jupyter Notebook

Examinons les fichiers que vous avez chargés dans votre espace de travail Machine Learning. Les activités de cette partie du didacticiel s’étendent sur deux fichiers de carnet, qui utilisent quelques fichiers de support.

  • 01-turbofan_regression.ipynb : ce notebook utilise l’espace de travail Machine Learning pour créer et exécuter une expérience Machine Learning. En général, le notebook effectue les étapes suivantes :

    1. Télécharge des données à partir du compte de stockage Azure qui a été généré par le harnais de l’appareil.
    2. Explore et prépare les données, puis utilise les données pour entraîner le modèle classifieur.
    3. Évalue le modèle de l’expérience à l’aide d’un jeu de données de test (Test_FD003.txt).
    4. Publie le meilleur modèle classifieur dans l’espace de travail Machine Learning.
  • 02-turbofan_deploy_model.ipynb : ce notebook prend le modèle créé dans le bloc-notes précédent et l’utilise pour créer une image conteneur prête à être déployée sur un appareil IoT Edge. Le notebook effectue les étapes suivantes :

    1. Crée un script de scoring pour le modèle.
    2. Produit une image conteneur à l’aide du modèle classifieur enregistré dans l’espace de travail Machine Learning.
    3. Déploie l’image en tant que service web sur Azure Container Instances.
    4. Utilisez le service web pour valider que le modèle et l'image fonctionnent comme prévu. L’image validée sera déployée sur notre appareil IoT Edge dans la partie Créer et déployer des modules IoT Edge personnalisés de ce tutoriel.
  • Test_FD003.txt: ce fichier contient les données que nous utiliserons comme jeu de tests lorsque nous validons notre classifieur entraîné. Nous avons choisi d'utiliser les données de test fournies dans le contexte original pour constituer notre jeu de test en raison de leur simplicité.

  • RUL_FD003.txt: ce fichier contient la durée de vie utile restante (RUL) pour le dernier cycle de chaque appareil dans le fichier Test_FD003.txt. Consultez les readme.txt et les fichiers Modeling.pdf de propagation des dommages dans C :\source\IoTEdgeAndMlSample\data\Turbofan pour obtenir une explication détaillée des données.

  • Utils.py : ce fichier contient un ensemble de fonctions utilitaires Python pour l’utilisation des données. Le premier cahier contient une explication détaillée des fonctions.

  • README.md : Ce fichier README décrit l’utilisation des notebooks.

Exécutez les notebooks Jupyter

Maintenant que l’espace de travail est créé, vous pouvez exécuter les bloc-notes.

  1. Dans la page Mes fichiers , sélectionnez 01-turbofan_regression.ipynb.

    Capture d’écran montrant la sélection du premier bloc-notes à exécuter.

  2. Si le bloc-notes est répertorié comme Non approuvé, sélectionnez le widget Non approuvé dans le coin supérieur droit du bloc-notes. Lorsque la boîte de dialogue s’affiche, sélectionnez Approbation.

  3. Pour obtenir de meilleurs résultats, lisez la documentation de chaque cellule et exécutez-la individuellement. Sélectionnez Exécuter dans la barre d’outils. Plus tard, vous trouverez qu’il est pratique d’exécuter plusieurs cellules. Vous pouvez ignorer les avertissements de mise à niveau et de dépréciation.

    Lorsqu’une cellule fonctionne, elle affiche un astérisque entre les crochets ([*]). Lorsque l’opération de la cellule est terminée, l’astérisque est remplacé par un nombre et une sortie pertinente peut apparaître. Les cellules d’un bloc-notes sont générées séquentiellement, et une seule cellule peut s’exécuter à la fois.

    Vous pouvez également utiliser des options d’exécution à partir du menu Cellule . Sélectionnez Ctrl+Entrée pour exécuter une cellule, puis Maj+Entrée pour exécuter une cellule, puis passez à la cellule suivante.

    Conseil / Astuce

    Pour les opérations de cellule cohérentes, évitez d’exécuter le même bloc-notes à partir de plusieurs onglets dans votre navigateur.

  4. Dans la cellule qui suit les instructions définir les propriétés globales , entrez les valeurs de votre abonnement, paramètres et ressources Azure. Exécutez ensuite la cellule.

    Capture d’écran montrant la définition des propriétés globales dans le notebook.

  5. Dans la cellule précédente contenant les détails de l’espace de travail, après son exécution, recherchez le lien qui vous indique de vous connecter pour vous authentifier.

    Capture d’écran montrant l’invite de connexion pour l’authentification de l’appareil.

    Ouvrez le lien et entrez le code spécifié. Cette procédure de connexion authentifie le notebook Jupyter pour accéder aux ressources Azure à l’aide de l’interface de ligne de commande multiplateforme Microsoft Azure.

    Capture d’écran montrant l’authentification de l’application sur la confirmation de l’appareil.

  6. Dans la cellule qui précède Explorer les résultats, copiez la valeur à partir de l’ID d’exécution et collez-la pour l’ID d’exécution dans la cellule qui suit reconstituer une exécution.

    Capture d’écran montrant comment copier l’identifiant d’exécution entre les cellules.

  7. Exécutez les cellules restantes dans le bloc-notes.

  8. Enregistrez le bloc-notes et revenez à la page de votre projet.

  9. Ouvrez 02-turbofan_deploy_model.ipynb, puis exécutez chaque cellule. Vous devez vous connecter pour vous authentifier dans la cellule qui suit Configurer l’espace de travail.

  10. Enregistrez le bloc-notes et revenez à la page de votre projet.

Vérifier la réussite de l’exécution

Pour vérifier que les blocs-notes ont été menés à bien, vérifiez que certains éléments ont été créés.

  1. Sous l’onglet Mes fichiers des blocs-notes Machine Learning, sélectionnez Actualiser.

  2. Vérifiez que les fichiers suivants ont été créés.

    Fichier Descriptif
    ./aml_config/.azureml/config.json Fichier de configuration utilisé pour créer l’espace de travail Machine Learning.
    ./aml_config/model_config.json Fichier de configuration que nous devons déployer le modèle dans l’espace de travail TurbofanDemo Machine Learning dans Azure.
    myenv.yml Fournit des informations sur les dépendances pour le modèle Machine Learning déployé.
  3. Vérifiez que les ressources Azure suivantes ont été créées. Certains noms de ressources sont ajoutés avec des caractères aléatoires.

    Ressource Azure Nom
    Espace de travail Azure Machine Learning turborfanDemo
    Registre de conteneurs Azure turbofandemoxxxxxx
    Application Insights turbofaninsightxxxxxx
    Azure Key Vault turbofankeyvaultbxxxxxxxx
    Stockage Azure stockageventilateurxxxxx

Débogage

Vous pouvez insérer des instructions Python dans le notebook pour le débogage, comme la commande print() pour afficher les valeurs. Si vous voyez des variables ou des objets qui ne sont pas définis, exécutez les cellules où elles sont d’abord déclarées ou instanciées.

Vous devrez peut-être supprimer des fichiers et des ressources Azure précédemment créés si vous devez rétablir les blocs-notes.

Nettoyer les ressources

Ce tutoriel fait partie d’un ensemble où chaque article s’appuie sur le travail effectué dans les précédents. Attendez de nettoyer les ressources jusqu’à ce que vous terminez le tutoriel final.

Étapes suivantes

Dans cet article, nous avons utilisé deux notebooks Jupyter s’exécutant dans Machine Learning Studio pour exploiter les données des appareils turbofan afin de :

  • Entraîner un classifieur RUL.
  • Enregistrez le classifieur en tant que modèle.
  • Créez une image conteneur.
  • Déployez et testez l’image en tant que service web.

Passez à l’article suivant pour créer un appareil IoT Edge.