Share via


Former votre modèle avec ML.Net

Dans l’étape précédente de ce tutoriel, nous avons abordé les conditions préalables à la création de vos propres modèle et application Windows Machine Learning, et téléchargé un ensemble d’images à utiliser. Dans cette étape, nous allons apprendre à utiliser le ML.NET Model Builder pour transformer notre ensemble d’images en modèle de classification d’image.

Créer votre projet

  1. Ouvrez Visual Studio et choisissez « Créer un nouveau projet ».

Create a new project for the Model Builder

  1. 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).

Create a new .NET project

  1. Dans la fenêtre de configuration :
  • Nommez votre projet. Ici, nous l’avons appelé MLNETTraining.
  • Choisissez l’emplacement du projet.
  • Vérifiez que Place solution and project in the same directory n’est pas coché.
  • Appuyez sur create pour créer votre projet.

Configure your new project

Configurer Model Builder

À présent, vous allez ajouter Model Builder à notre projet.

  1. Cliquez avec le bouton droit sur le projet MLNETTraining dans l’Explorateur de solutions, puis sélectionnez Add > Machine Learning.

Add machine learning to your project

De cette façon, vous ouvrez ML.NET Model Builder 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 d’apprentissage automatique.

List of model builder scenarios

La première étape consiste à choisir le scénario approprié. Certains scénarios ne prennent pas en charge le format ONNX.

Si l’environnement de formation est le cloud Azure, les modèles générés sont au format ONNX et peuvent être facilement utilisés par l’application Windows ML sans conversion. Toutefois, si vous décidez de former votre modèle d’apprentissage localement sur votre ordinateur, le modèle généré sera au format ML.NET.

  • La formation locale du processeur est prise 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 former un modèle de classification d’image dans un environnement de formation Azure. Le modèle de sortie sera au format ONNX. Un compte Azure est requis pour pouvoir effectuer la formation.

  1. Choisissez le scénario de classification d’image.

  2. Sélectionnez Set up workspace (Configurer l’espace de travail) pour configurer votre environnement de formation Azure.

Set up your Azure workspace

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 nouvelle ressource de calcul.
  • Donnez le nom à votre espace de travail : ImageClassificationMLNET.

Configure your Azure workspace

Important

Si vous ne parvenez pas à créer l’espace de travail d’apprentissage automatique à partir de Model Builder, suivez ces étapes pour créer un espace de travail manuellement à partir de votre Portail Azure. Dans le cas contraire, vous pouvez ignorer l’étape 4.

Dans votre compte Azure, sélectionnez Créer une ressource :

Available Azure resources

Dans la barre de recherche, recherchez Machine Learning.

Search for Machine Learning in the Azure resource list

Sélectionnez et créez un espace de travail Machine Learning.

The Azure Machine Learning resource

Pour créer un nouvel espace de travail, vous allez devoir fournir le nom de votre abonnement, sélectionner ou créer un nouveau 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.

Set up your Azure ML workspace

Une fois que vous avez établi votre espace de travail et créé un nouvel environnement de formation dans ML.NET, vous pouvez passer à l'étape suivante.

The ML.NET training environment

Attendez la fin du déploiement de Machine Learning Services.

L’étape suivante consiste à ajouter les données à Model Builder.

  1. Accédez à l’emplacement du jeu de données de l’image, puis sélectionnez le dossier de formation avec les catégories de nourriture appropriées. Dans ce didacticiel, vous allez former le modèle pour qu’il reconnaisse le dessert, le potage et le fruit. Ces catégories sont donc inutiles dans notre dossier de jeu de données.

Add data to your ML model

Vous êtes maintenant prêt à passer à la partie formation.

Former votre modèle

Model Builder évalue un grand nombre de modèles avec des algorithmes et des paramètres variables pour vous donner le meilleur modèle d’exécution.

  1. Sélectionnez Suivant, puis Start Training pour démarrer le processus de formation. Le générateur de modèles ML.NET démarre en chargeant des données dans Azure, prépare l’espace de travail, puis lance le processus de formation.

Train your Machine Learning model

Une fois la formation terminée, le résumé des résultats de celle-ci apparaît.

Successful model training

Précision plus élevée : affiche la précision du meilleur modèle trouvé par Model Builder. Une précision plus élevée signifie que le modèle a prédit plus correctement sur les données de test. Dans notre cas, le modèle peut prédire le résultat correct avec un taux de confiance de 95,42 %.

Évaluer les résultats

  1. Passez à l’étape suivante pour évaluer les résultats de la formation.

  2. Sélectionnez l’image dans le dossier d’évaluation du jeu de données et explorez la prédiction.

Model evaluation results

Ajouter le modèle à la solution

ML.NET Model Builder peut ajouter automatiquement à votre solution à la fois le modèle d’apprentissage automatique et les projets de formation et d’utilisation du modèle.

  1. Accédez à la partie utilisation du processus de formation et vendez Ajouter à la solution. Le modèle généré est alors ajouté à votre dossier de solution.

Add your model to your solution

Dans l’Explorateur de solutions, vous devriez voir les fichiers de code générés par Model Builder, notamment le modèle – bestModel.onnx au format ONNX.

Your model displayed in the solution explorer

Le modèle formé dans l’environnement Cloud Azure, le modèle généré est au format ONNX.

Explorer votre modèle

  1. Cliquez avec le bouton droit sur bestModel.onnx, puis sélectionnez Ouvrir le dossier conteneur.

  2. Ouvrez votre fichier de modèle à l’aide du programme Netron.

  3. Appuyez sur le nœud input1 pour ouvrir les propriétés du modèle.

Exploring the properties of your model

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. De la manière dont le modèle a été construit, il ne renvoie pas la chaîne de caractères d'une étiquette prédite mais un tableau de trois nombres, chacun représentant l’étiquette pertinente du type d’aliment. Vous devrez 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 formé votre modèle Machine Learning, vous êtes prêt à le déployer dans une application UWP avec Windows Machine Learning