AI Notebooks - Tutoriel - Entraîner YOLOv5 sur votre jeu de données
Comment entraîner le modèle YOLOv5 sur un jeu de données personnalisé avec AI Notebooks
Objectif
L'objectif de ce tutoriel est de montrer comment il est possible d'entraîner YOLOv5 à reconnaître des objets. YOLOv5 est un algorithme de détection d'objets. Bien qu'étroitement lié à la classification d'images, la détection d'objets effectue une classification d'images à une échelle plus précise. La détection d'objets localise et catégorise les éléments dans les images.
Il repose sur le repository open source de YOLOv5 développé par Ultralytics.
Prérequis
- Un projet AI Notebooks créé au sein d'un projet Public Cloud dans votre compte OVHcloud ;
- Un utilisateur pour AI Notebooks ;
- Votre propre dataset.
Accès à l'espace client OVHcloud
- Lien direct :
- Pour accéder à vos services :
Public Cloud> Sélectionnez votre projet >Object Storage
En pratique
Envoyer votre dataset sur Public Cloud Storage
Si vous souhaitez l'envoyer depuis l', rendez-vous dans la section Object Storage et créez un nouveau conteneur d'objets en cliquant sur Object Storage > Créer un conteneur d'objets.
Si vous souhaitez l'exécuter avec la CLI, suivez simplement ce guide. Vous devez choisir la région, le nom de votre conteneur et le chemin où se trouvent vos données, puis utiliser la commande suivante :
Ce tutoriel a été réalisé avec le dataset COCO. Si vous ne disposez pas de votre propre dataset, vous pouvez l'utiliser en téléchargeant la version COCO "YOLOv5 PyTorch" disponible gratuitement sur Roboflow.
Lancer et accéder à un notebook Jupyter avec le framework PyTorch
Vous devez attacher un volume si vos données se trouvent dans votre object storage OVHcloud et que vous souhaitez les utiliser pendant votre expérimentation, ou si vous devez sauvegarder les résultats de votre travail dans l'object storage. Pour plus d'informations sur les données, les volumes et les permissions, consultez notre guide sur les données.
Si vous souhaitez le lancer depuis l', suivez simplement ce guide.
Nommez votre notebookChoisissez l’éditeur JupyterLabSélectionnez le framework PyTorchChoisissez le type d’accèsSélectionnez la localisation du datacenter (même région que votre conteneur d’objets)Choisissez le nombre de GPU ou de CPU dont vous avez besoin
Pour ce tutoriel, nous vous conseillons d'utiliser au moins 2 GPU.
Attachez des conteneurs Object Storage
Dans ce tutoriel, vous avez besoin de 2 conteneurs d'objets.
- le premier conteneur d'objets contient votre dataset (étiqueté et séparé) ainsi que votre fichier
data.yaml. - le second conteneur d'objets est vide. Il est destiné à sauvegarder les poids de votre modèle (pour une future inférence par exemple).
Une fois le dépôt cloné, trouvez le notebook YOLOv5 en suivant ce chemin : ai-training-examples > notebooks > computer-vision > object-detection > miniconda > notebook_object_detection_yolov5.ipynb.
Attachez des clés SSH publiques uniquement si vous le souhaitezVérifiez que tout est correct et lancez votre notebook
Si vous souhaitez le lancer avec la CLI, choisissez les volumes que vous souhaitez attacher et le nombre de GPU (<nb-gpus>) à utiliser pour votre notebook, puis utilisez la commande suivante :
Vous pourrez ensuite accéder à l'URL de votre notebook une fois qu'il est en cours d'exécution.
Vous devriez obtenir cet aperçu :
Expérimenter avec le notebook YOLOv5
Une fois votre dataset prêt et envoyé, vous êtes en mesure d'entraîner le modèle YOLOv5 de votre choix !
Un aperçu de ce notebook est disponible sur GitHub ici.
Aller plus loin
- Vous souhaitez observer l'évolution de vos métriques pendant l'entraînement de votre modèle ? Cliquez ici !
- Vous souhaitez utiliser votre modèle YOLOv5 dans une app ? C'est par ici.
Pour une formation ou une assistance technique sur la mise en œuvre de nos solutions, contactez votre commercial ou consultez la page Professional Services pour obtenir un devis et faire analyser votre projet par nos experts.
Votre avis nous intéresse !
N’hésitez pas à nous faire part de vos questions, retours et suggestions pour améliorer le service :
- Sur le serveur Discord OVHcloud