Partager via


Entraîner votre modèle avec Custom Vision

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 l’interface Custom Vision basée sur le web pour transformer notre ensemble d’images en modèle de classification d’image.

Azure Custom Vision est un service de reconnaissance d’image qui vous permet de créer, de déployer et d’améliorer vos propres identificateurs d’images. Le service Custom Vision est disponible sous la forme d’un ensemble de kits SDK natifs,ainsi que via une interface web sur le site web du service Custom Vision.

Créer des ressources et un projet Custom Vision

Créer une ressource Custom Vision

Pour utiliser le service Custom Vision, vous devez créer des ressources Custom Vision dans Azure.

  1. Accédez à la page principale de votre compte Azure, puis sélectionnez Create a resource.

Azure resources selection

  1. Dans la zone de recherche, recherchez Custom Vision et entrez le marketplace Azure. Sélectionnez Create Custom Vision pour ouvrir la fenêtre de dialogue sur la page Créer Custom Vision.

Packages selection

  1. Dans la page de la boîte de dialogue Custom Vision, choisissez ce qui suit :
  • Sélectionnez les ressources Training et Prediction.
  • Sélectionnez un abonnement pour gérer les ressources déployées. Si votre abonnement Azure ne s’affiche pas dans le menu, déconnectez-vous et rouvrez votre compte Azure en utilisant les mêmes informations d’identification que celles que vous avez utilisées pour ouvrir votre compte.
  • Créez un groupe de ressources et attribuez-lui un nom. Dans ce tutoriel, nous avons appelé le nôtre MLTraining, mais n’hésitez pas à choisir votre propre nom ou à utiliser le groupe de ressources existant, le cas échéant.
  • Donnez un nom à votre projet. Dans ce tutoriel, nous avons appelé le nôtre classificationApp, mais vous pouvez utiliser n’importe quel nom de votre choix.
  • Pour les ressources Training et Prediction, définissez l’emplacement sur USA Est et le Niveau tarifaire sur FO gratuit.
  1. Appuyez sur Review + create pour déployer vos ressources Custom Vision. Le déploiement de vos ressources peut prendre quelques minutes.

Deploy a new Custom Vision resource

Créer un nouveau projet dans Custom Vision

Maintenant que vous avez créé votre ressource, il est temps de créer votre projet de formation dans Custom Vision.

  1. Dans votre navigateur web, accédez à la page Custom Vision, puis sélectionnez Sign in. Connectez-vous avec le même compte que celui utilisé pour vous connecter au portail Azure.

  2. Sélectionnez New Project pour ouvrir une boîte de dialogue de nouveau projet.

Create a new project

  1. Créez un nouveau projet comme suit :
  • Name : FoodClassification.
  • Description : classification de différents types de nourriture.
  • Resource : conservez la même ressource que celle que vous avez ouverte précédemment – ClassificationApp [F0].
  • Project Types: classification
  • Classification Types: Multilabel (Multiple tags per image)
  • Domains: Food (compact).
  • Export Capabilities: Basic platforms (Tensorflow, CoreML, ONNX, ...)

Remarque

Pour pouvoir exporter au format ONNX, veillez à choisir le domaine Food (compact). Les domaines non compacts ne peuvent pas être exportés au format ONNX.

Important

Si votre compte de connexion est associé à un compte Azure, la liste déroulante Resource Group (Groupe de ressources) affiche tous vos groupes de ressources Azure qui incluent une ressource du service Vision personnalisée. Si aucun groupe de ressources n’est disponible, assurez-vous de vous être connecté à customvision.ai avec le même compte que celui utilisé pour vous connecter au Portail Azure.

  1. Une fois que vous avez rempli la boîte de dialogue, sélectionnez Create project.

Finalize your project

Charger le jeu de données d’entraînement

Maintenant que vous avez créé votre projet, vous allez charger un jeu de données d’images alimentaires précédemment préparé à partir de jeux de données Kaggle Open Datasets.

  1. Sélectionnez votre projet FoodClassification pour ouvrir l’interface web du site web Custom Vision.

  2. Sélectionnez le bouton Add images et choisissez Browse local files.

Add images dialog

  1. Accédez à l’emplacement du jeu de données d’images, puis sélectionnez le dossier d’entraînement : vegetable-fruit. Sélectionnez toutes les images dans le dossier, puis sélectionnez open. L’option d’étiquetage s’ouvre.

  2. Entrez vegetable-fruit dans le champ My Tags et appuyez sur Upload.

Upload images

Attendez que le premier groupe d’images soit téléchargé dans votre projet, puis appuyez sur done. La sélection des étiquettes sera appliquée à l’ensemble du groupe d’images que vous avez choisi de charger. C’est pourquoi il est plus facile de charger des images à partir de groupes d’images déjà prédéfinis. Vous pouvez toujours changer les étiquettes pour des images individuelles après qu’elles ont été chargées.

Image upload progress

  1. Après le chargement réussi du premier groupe d’images, répétez le processus à deux reprises pour charger les images de dessert et de soupe. Veillez à les étiqueter de façon appropriée.

À la fin, vous aurez trois groupes d’images différents prêts pour l’entraînement.

Image tags display

Entraîner le modèle de classification

Vous allez maintenant entraîner le modèle à classer les légumes, les soupes et les desserts à partir de l’ensemble des images téléchargées dans la partie précédente.

  1. Pour démarrer le processus d’entraînement, sélectionnez le bouton Train dans l’angle supérieur droit. Le classificateur va utiliser les images pour créer un modèle qui identifie les qualités visuelles de chaque étiquette.

Train button

Il est possible de modifier le seuil de probabilité à l’aide du curseur situé dans le coin supérieur gauche. Le seuil de probabilité fixe le niveau de confiance qu’une prédiction doit avoir pour être considérée comme correcte. Si le seuil de probabilité est trop élevé, vous obtiendrez une classification plus correcte, mais un nombre inférieur sera détecté. En revanche, si le seuil de probabilité est trop bas, vous détecterez beaucoup plus de classifications, mais avec une confiance moindre ou davantage de faux positifs.

Dans ce tutoriel, vous pouvez conserver le seuil de probabilité à 50 %.

  1. Ici, nous allons utiliser le processus Quick Training. Advanced Training dispose d’un plus grand nombre de paramètres et vous permet de définir spécifiquement le temps d’entraînement, mais nous n’avons pas besoin de ce niveau de contrôle ici. Appuyez sur Train pour lancer le processus d’entraînement.

Choose training type

Un processus d’entraînement rapide ne prend que quelques minutes. Pendant ce temps, les informations relatives au processus d’entraînement s’affichent sous l’onglet Performance.

Training process

Évaluer et tester

Évaluer les résultats

Une fois l’entraînement terminé, le résumé de la première itération d’entraînement s’affiche. Il comprend l’estimation des performances du modèle (précision et rappel).

  • La précision indique la proportion des classifications identifiées qui étaient correctes. Dans notre modèle, la précision est de 98,2 %, donc si notre modèle classifie une image, il est très probable qu’elle soit prédite correctement.
  • Le rappel indique la proportion des classifications réelles qui ont été correctement identifiées. Dans notre modèle, le rappel est de 97,5 %, ce qui signifie que notre modèle classifie correctement la grande majorité des images qui lui sont présentées.
  • AP signifie des performances supplémentaires. Cela fournit une métrique supplémentaire, qui résume la précision et le rappel à différents seuils.

Model training evaluation

Tester le modèle

Avant d’exporter le modèle, vous pouvez tester ses performances.

  1. Sélectionnez Quick Test dans le coin supérieur droit de la barre de menus supérieure pour ouvrir une nouvelle fenêtre de test.

Test button

Dans cette fenêtre, vous pouvez fournir une URL de l’image à tester, ou sélectionner Browse local files pour utiliser une image stockée localement.

Select image for testing

  1. Choisissez Browse local files, accédez au jeu de données de la nourriture et ouvrez un dossier de validation. Choisissez une image aléatoire dans le dossier fruit-vegetable, puis appuyez sur open.

Le résultat du test s’affiche à l’écran. Dans notre test, le mode a classé l’image avec 99,8 % de certitude.

Test classification results

Vous pouvez utiliser la prédiction pour l’entraînement sous l’onglet Predictions, ce qui permet d’améliorer les performances du modèle. Pour plus d’informations, consultez Comment améliorer votre classifieur.

Remarque

Vous souhaitez en savoir plus sur les API Azure Custom Vision ? La documentation sur le service Custom Vision contient des informations supplémentaires sur le portail web et le kit de développement logiciel (SDK) Custom Vision.

Exporter le modèle au format ONNX

Maintenant que nous avons entraîné notre modèle, nous pouvons l’exporter au format ONNX.

  1. Sélectionnez l’onglet Performance, puis choisissez Export pour ouvrir une fenêtre d’exportation.

Export button

  1. Sélectionnez ONNX pour exporter votre modèle au format ONNX.

Choose your format

  1. Vous pouvez choisir l’option float ONNX 16 si nécessaire, mais dans ce tutoriel, nous n’avons pas besoin de modifier les paramètres. Sélectionnez Export and Download.

Choose your platform

  1. Ouvrez le fichier .zip téléchargé et extrayez le fichier model.onnx à partir de celui-ci. Ce fichier contient votre modèle de classifieur.

Félicitations ! Vous avez correctement créé et exporté le modèle de classification.

Étapes suivantes

Maintenant que nous disposons d’un modèle de classification, l’étape suivante consiste à créer une application Windows et à l’exécuter localement sur votre appareil Windows.