Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans la phase précédente de ce tutoriel, nous avons abordé les conditions préalables à la création de votre propre modèle et application Windows Machine Learning, puis nous avons téléchargé un ensemble d’images à utiliser. Dans cette étape, nous allons apprendre à utiliser le générateur de modèles ML.NET pour transformer notre jeu d’images en modèle de classification d’images.
Créer votre projet
- Ouvrez Visual Studio et choisissez « Créer un projet ».
- Dans la barre de recherche, tapez .NET, sélectionnez C# comme langage et console comme plateforme, puis choisissez le modèle de projet Application console C# (.NET Core).
- Dans la fenêtre de configuration :
- Nommez votre projet. Ici, nous l’avons appelé MLNETTraining.
- Choisissez l’emplacement de votre projet.
- Assurez-vous que
Place solution and project in the same directory
n’est pas cochée. - Appuyez sur
create
pour créer votre projet.
Configurer le Générateur de modèles
À présent, vous allez ajouter Model Builder à notre projet.
- Cliquez avec le bouton droit sur le projet MLNETTraining dans l’Explorateur de solutions, puis sélectionnez
Add > Machine Learning
.
De cette façon, vous ouvrez ML.NET Générateur de modèles dans une nouvelle fenêtre d’outil ancrée dans Visual Studio. Model Builder vous guide tout au long du processus de création d’un modèle Machine Learning.
La première étape consiste à choisir le scénario approprié. Tous les scénarios ne prennent pas en charge le format ONNX.
Si l’environnement d’entraînement est le cloud Azure, les modèles générés sont au format ONNX et peuvent être facilement consommés par l’application Windows ML sans conversion. Toutefois, si vous décidez d’entraîner votre modèle Machine Learning localement sur votre ordinateur, le modèle généré sera au format ML.NET.
- L’apprentissage du processeur local est pris en charge pour tous les scénarios, à l’exception de la détection d’objets.
- La formation GPU locale est prise en charge pour la classification d’images.
- La formation Azure est prise en charge pour la classification d’images et la détection d’objets.
Dans ce tutoriel, vous allez entraîner le modèle de classification d’images dans l’environnement d’entraînement Azure. Le modèle de sortie sera au format ONNX. Le compte Azure est requis pour suivre la formation.
Choisissez le scénario de classification d’images.
Sélectionnez Configurer l’espace de travail pour configurer votre environnement de formation Azure.
Dans le coin supérieur droit, connectez-vous au compte associé à votre abonnement Azure. Dans le menu ci-dessous :
- Choisissez l’abonnement approprié.
- Sélectionnez et créez un espace de travail Machine Learning.
- Sélectionnez ou créez une ressource de calcul.
- Donnez le nom à votre espace de travail – ImageClassificationMLNET.
Important
Si vous ne pouvez pas créer l’espace de travail Machine Learning à partir du Générateur de modèles, procédez comme suit pour créer un espace de travail manuellement à partir de votre portail Azure. Sinon, vous pouvez passer à l’étape 4.
Dans votre compte Azure, sélectionnez Créer une ressource :
Dans la barre de recherche, recherchez un Machine Learning.
Appuyez sur Créer pour créer un espace de travail Machine Learning.
Pour créer un espace de travail, vous devez fournir le nom de votre abonnement, sélectionner ou créer un groupe de ressources, donner un nom à l’espace de travail et définir tous les paramètres requis tels que la région, le compte de stockage, etc.
Une fois que vous avez établi votre espace de travail et créé un environnement d’entraînement dans ML.NET, vous pouvez passer à l’étape suivante.
Attendez que le déploiement de Machine Learning Services soit terminé.
L’étape suivante consiste à ajouter les données au Générateur de modèles.
- Accédez à l’emplacement du jeu de données d’image et sélectionnez le dossier d’entraînement avec les catégories alimentaires appropriées. Dans ce tutoriel, vous allez entraîner le modèle pour reconnaître le désert, la soupe et les fruits. Vous n’avez donc besoin que de ces catégories dans notre dossier de jeu de données.
Maintenant, vous êtes prêt à passer à la partie d’entraînement !
Entraîner votre modèle
Model Builder évalue de nombreux modèles avec différents algorithmes et paramètres pour vous donner le modèle le plus performant.
- Sélectionnez ensuite, puis démarrez l’entraînement pour démarrer le processus d’entraînement. Le générateur de modèles ML.Net commence par charger des données sur Azure, préparer l’espace de travail, puis lancer le processus d’apprentissage.
Une fois la formation terminée, vous verrez un résumé des résultats de l’entraînement.
Meilleure précision : vous montre la précision du meilleur modèle trouvé par Le Générateur de modèles. Une précision plus élevée signifie que le modèle a été prédit plus correctement sur les données de test. Dans notre cas, le modèle peut prédire le résultat correct avec 95,42% de confiance.
Évaluer les résultats
Déplacez l’étape suivante pour évaluer les résultats de l’entraînement.
Sélectionnez l’image dans le dossier d’évaluation du jeu de données et explorez la prédiction.
Ajouter le modèle à la solution
ML.NET Model Builder peut ajouter automatiquement le modèle Machine Learning et les projets d’entraînement et de consommation du modèle à votre solution.
- Accédez à la partie utilisation du processus de formation et vendez Ajouter à la solution. Cela ajoute le modèle généré à votre dossier de solution.
Dans l’Explorateur de solutions, vous devez voir les fichiers de code générés par Model Builder, y compris le modèle – bestModel.onnx au format ONNX.
Le modèle entraîné dans l’environnement cloud Azure, le modèle généré est donc au format ONNX.
Explorer votre modèle
Cliquez avec le bouton droit sur le bestModel.onnx et sélectionnez Ouvrir le dossier contenant.
Ouvrez votre fichier de modèle avec le programme Netron.
Appuyez sur le nœud input1 pour ouvrir les propriétés du modèle.
Comme vous pouvez le voir, le modèle requiert un objet tenseur float de 32 bits (tableau multidimensionnel) comme entrée et retourne Tensor float en sortie. Étant donné la façon dont le modèle a été conçu, il ne retourne pas la valeur en chaîne d'une étiquette prédite, mais un tableau de trois nombres, chacun représentant la catégorie correspondante du type de nourriture. Vous devez extraire ces valeurs pour afficher la prédiction correcte avec l’application Windows ML.
Étiquette 1 | Étiquette 2 | Étiquette 3 |
---|---|---|
0 | 1 | 2 |
dessert | soupe | Vegetable-Fruit |
Étapes suivantes
Maintenant que vous avez entraîné votre modèle Machine Learning, vous êtes prêt à le déployer dans une application UWP avec Windows Machine Learning