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.
- Accédez à la page principale de votre compte Azure, puis sélectionnez
Create a resource
.
- Dans la zone de recherche, recherchez
Custom Vision
et entrez le marketplace Azure. SélectionnezCreate Custom Vision
pour ouvrir la fenêtre de dialogue sur la page Créer Custom Vision.
- Dans la page de la boîte de dialogue Custom Vision, choisissez ce qui suit :
- Sélectionnez les ressources
Training
etPrediction
. - 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
etPrediction
, définissez l’emplacement sur USA Est et le Niveau tarifaire sur FO gratuit.
- Appuyez sur
Review + create
pour déployer vos ressources Custom Vision. Le déploiement de vos ressources peut prendre quelques minutes.
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.
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.Sélectionnez
New Project
pour ouvrir une boîte de dialogue de nouveau projet.
- 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.
- Une fois que vous avez rempli la boîte de dialogue, sélectionnez
Create 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.
Sélectionnez votre projet
FoodClassification
pour ouvrir l’interface web du site web Custom Vision.Sélectionnez le bouton
Add images
et choisissezBrowse local files
.
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électionnezopen
. L’option d’étiquetage s’ouvre.Entrez
vegetable-fruit
dans le champMy Tags
et appuyez surUpload
.
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.
- 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.
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.
- 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.
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 %.
- 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 surTrain
pour lancer le processus d’entraînement.
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
.
É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.
Tester le modèle
Avant d’exporter le modèle, vous pouvez tester ses performances.
- 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.
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.
- 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 dossierfruit-vegetable
, puis appuyez suropen
.
Le résultat du test s’affiche à l’écran. Dans notre test, le mode a classé l’image avec 99,8 % de certitude.
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.
- Sélectionnez l’onglet
Performance
, puis choisissezExport
pour ouvrir une fenêtre d’exportation.
- Sélectionnez
ONNX
pour exporter votre modèle au format ONNX.
- 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électionnezExport and Download
.
- 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.