Partager via


Tableau de bord WinML

Le tableau de bord WinML est un outil permettant d’afficher, de modifier, de convertir et de valider des modèles Machine Learning pour le moteur d’inférence Windows ML. Le moteur est intégré à Windows 10 et évalue les modèles formés localement sur les appareils Windows à l’aide d’optimisations matérielles pour l’UC et le GPU afin d’activer des inférences hautes performances.

Obtention de l’outil

Vous pouvez télécharger le tableau de bord WinML ici ou générer l’application à partir de la source en suivant les instructions ci-dessous.

Générer à partir de la source

Lorsque vous générez l’application à partir de la source, vous aurez besoin des éléments suivants :

Spécifications Version Télécharger Commande à vérifier
Python3 3.4 ou version ultérieure ici python --version
Fil le plus récent ici yarn --version
Node.js le plus récent ici node --version
Git le plus récent ici git --version
MSBuild le plus récent ici msbuild -version
NuGet le plus récent ici nuget help

Les six conditions préalables doivent être ajoutées au chemin d’accès de l’environnement. Notez que MSBuild et Nuget seront inclus dans une installation de Visual Studio 2017.

Étapes de construction et d'exécution

Pour exécuter le tableau de bord WinML, procédez comme suit :

  1. Dans la ligne de commande, clonez le référentiel : git clone https://github.com/Microsoft/Windows-Machine-Learning
  2. Dans le référentiel, entrez les éléments suivants pour accéder au dossier approprié : cd Tools/WinMLDashboard
  3. Exécutez git submodule update --init --recursive pour mettre à jour Netron.
  4. Exécutez Yarn pour télécharger les dépendances.
  5. Ensuite, exécutez yarn electron-prod pour générer et démarrer l’application de bureau, qui lancera le tableau de bord.

Toutes les commandes de tableau de bord disponibles sont visibles à package.json.

Affichage et modification des modèles

Le tableau de bord utilise Netron pour afficher les modèles Machine Learning. Bien que WinML utilise le format ONNX, la visionneuse Netron prend en charge l’affichage de plusieurs formats d’infrastructure différents.

Plusieurs fois, un développeur peut avoir besoin de mettre à jour certaines métadonnées de modèle ou de modifier les nœuds d’entrée et de sortie du modèle. Cet outil prend en charge la modification des propriétés du modèle, des métadonnées et des nœuds d’entrée/sortie d’un modèle ONNX.

La sélection de l’onglet Edit (en haut du centre comme indiqué dans le snip ci-dessous) vous permet d’afficher et de modifier le panneau. Le volet gauche du panneau permet de modifier les nœuds d’entrée et de sortie du modèle, et le volet droit permet de modifier les propriétés du modèle. La partie centrale affiche le graphique. À ce stade, la prise en charge de la modification est limitée au nœud d’entrée/sortie de modèle (et non aux nœuds internes), aux propriétés du modèle et aux métadonnées du modèle.

Le Edit/View bouton passe du mode Édition au mode Affichage uniquement, et inversement. Le mode Affichage uniquement n’autorise pas la modification et active les fonctionnalités natives de la visionneuse Netron, telles que la possibilité d’afficher des informations détaillées pour chaque nœud.

Affichage et modification d’un modèle

Conversion de modèles

Aujourd’hui, il existe plusieurs frameworks différents disponibles pour l’apprentissage et l’évaluation des modèles Machine Learning, ce qui rend difficile pour les développeurs d’applications d’integuer des modèles dans leur produit. Windows ML utilise le format de modèle Machine Learning ONNX qui permet la conversion d’un format d’infrastructure vers un autre, et ce tableau de bord facilite la conversion de modèles de différents frameworks en ONNX.

L’onglet Convertir prend en charge la conversion en ONNX à partir des frameworks sources suivants :

  • Apple Core ML
  • TensorFlow (sous-ensemble de modèles convertibles en ONNX)
  • Keras
  • Scikit-learn (sous-ensemble de modèles convertibles en ONNX)
  • Xgboost
  • LibSVM

L’outil permet également la validation du modèle converti en évaluant le modèle avec le moteur d’inférence Windows ML intégré à l’aide de données synthétiques (par défaut) ou de données d’entrée réelles sur l’UC ou le GPU.

Conversion d’un modèle

Validation des modèles

Une fois que vous avez un modèle ONNX, vous pouvez vérifier si la conversion s’est produite correctement et que le modèle peut être évalué dans le moteur d’inférence Windows ML. Pour ce faire, utilisez l’onglet Run (voir extrait ci-dessous).

Vous pouvez choisir différentes options telles que l’UC (par défaut) et le GPU, l’entrée réelle et l’entrée synthétique (par défaut) etc. Le résultat de l’évaluation du modèle apparaît dans la fenêtre de console en bas.

Notez que la fonctionnalité de validation de modèle est disponible uniquement sur Windows 10 octobre 2018 Update ou version ultérieure de Windows 10, car l’outil s’appuie sur le moteur d’inférence Windows ML intégré.

Validation d’un modèle

Débogage de l’inférence

Vous pouvez utiliser la fonctionnalité de débogage du tableau de bord WinML pour obtenir des informations sur la façon dont les données brutes transitent par des opérateurs dans votre modèle. Vous pouvez également choisir de visualiser ces données pour l’inférence de vision par ordinateur.

Pour déboguer votre modèle, procédez comme suit :

  1. Accédez à l’onglet Edit et sélectionnez l’opérateur pour lequel vous souhaitez capturer des données intermédiaires. Dans le volet gauche, un menu vous permet Debug de sélectionner les formats de données intermédiaires que vous souhaitez capturer. Les options sont actuellement du texte et PNG. Le texte génère un fichier texte contenant les dimensions, le type de données et les données tensoriels brutes produites par cet opérateur. PNG met en forme ces données dans un fichier image qui peut être utile pour les applications de vision par ordinateur.

Déboguer un modèle

  1. Accédez à l’onglet Run et sélectionnez le modèle que vous souhaitez déboguer.
  2. Pour le champ Capture, sélectionnez Debug dans la liste déroulante.
  3. Sélectionnez une image d’entrée ou un csv à fournir à votre modèle lors de l’exécution. Notez que cela est requis lors de la capture de données de débogage.
  4. Sélectionnez un dossier de sortie pour exporter des données de débogage.
  5. Sélectionnez Run. Une fois l’exécution terminée, vous pouvez accéder à ce dossier sélectionné pour afficher votre capture de débogage.

Exécuter un modèle

Vous pouvez également ouvrir le mode Débogage dans l’application Electron avec l’une des options suivantes :

  • Exécutez-le avec flag --dev-tools
  • Ou sélectionnez-le View -> Toggle Dev Tools dans le menu de l’application
  • Ou appuyez sur Ctrl + Shift + I.