Skip to main content
Ultralytics est la référence pour les modèles de vision par ordinateur de pointe destinés à des tâches comme la classification d’images, la détection d’objets, la segmentation d’images et l’estimation de pose. Il héberge non seulement YOLOv8, la dernière itération de la série YOLO de modèles de détection d’objets en temps réel, mais aussi d’autres modèles puissants de vision par ordinateur comme SAM (Segment Anything Model), RT-DETR, YOLO-NAS, etc. En plus de proposer des implémentations de ces modèles, Ultralytics fournit également des flux de travail prêts à l’emploi pour entraîner, effectuer le Fine-tuning et utiliser ces modèles à l’aide d’une API simple d’utilisation.

Premiers pas

  1. Installez ultralytics et wandb.
        pip install --upgrade ultralytics==8.0.238 wandb
    
        # ou
        # conda install ultralytics
    
    L’équipe de développement a testé l’intégration avec ultralyticsv8.0.238 et les versions antérieures. Pour signaler tout problème lié à l’intégration, créez une GitHub issue avec le tag yolov8.

Suivre les expériences et visualiser les résultats de validation

Cette section présente un flux de travail typique qui consiste à utiliser un modèle Ultralytics pour l’entraînement, le fine-tuning et la validation, ainsi qu’à effectuer le suivi des expériences, l’enregistrement de point de contrôle du modèle et la visualisation des performances du modèle avec W&B. Vous pouvez également en savoir plus sur l’intégration dans ce rapport : Supercharging Ultralytics with W&B Pour utiliser l’intégration W&B avec Ultralytics, importez la fonction wandb.integration.ultralytics.add_wandb_callback.
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO
Initialisez le modèle YOLO de votre choix, puis appelez la fonction add_wandb_callback sur celui-ci avant d’exécuter une inférence avec le modèle. Cela garantit que, lors de l’entraînement, du fine-tuning, de la validation ou de l’inférence, les logs de l’expérience ainsi que les images avec la vérité terrain et les résultats de prédiction correspondants superposés sont automatiquement enregistrés dans W&B à l’aide des superpositions interactives pour les tâches de vision par ordinateur, ainsi que des informations supplémentaires dans un wandb.Table.
with wandb.init(project="ultralytics", job_type="train") as run:

    # Initialiser le modèle YOLO
    model = YOLO("yolov8n.pt")

    # Ajouter le callback W&B pour Ultralytics
    add_wandb_callback(model, enable_model_checkpointing=True)

    # Entraîner/affiner votre modèle
    # À la fin de chaque époque, les prédictions sur les lots de validation sont enregistrées
    # dans un tableau W&B avec des superpositions interactives et pertinentes pour
    # les tâches de vision par ordinateur
    model.train(project="ultralytics", data="coco128.yaml", epochs=5, imgsz=640)
Voici à quoi ressemblent les expériences suivies avec W&B dans un flux de travail Ultralytics d’entraînement ou de fine-tuning : Voici comment les résultats de validation à chaque époque sont visualisés à l’aide d’une W&B Table :

Visualiser les résultats de prédiction

Cette section présente un flux de travail typique qui consiste à utiliser un modèle Ultralytics pour l’inférence et à visualiser les résultats avec W&B. Vous pouvez essayer le code dans Google Colab : Ouvrir dans Colab. Vous pouvez également en savoir plus sur cette intégration dans ce rapport : Supercharging Ultralytics with W&B Pour utiliser l’intégration W&B avec Ultralytics, vous devez importer la fonction wandb.integration.ultralytics.add_wandb_callback.
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics.engine.model import YOLO
Téléchargez quelques images pour tester l’intégration. Vous pouvez utiliser des images fixes, des vidéos ou des flux de caméra. Pour plus d’informations sur les sources d’inférence, consultez la documentation Ultralytics.
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img1.png
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img2.png
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img4.png
!wget https://raw.githubusercontent.com/wandb/examples/ultralytics/colabs/ultralytics/assets/img5.png
Initialisez un run W&B run à l’aide de wandb.init(). Ensuite, initialisez le modèle YOLO de votre choix et appelez la fonction add_wandb_callback sur celui-ci avant d’exécuter une inférence avec le modèle. Cela garantit que, lorsque vous exécutez une inférence, les images avec vos superpositions interactives pour les tâches de vision par ordinateur sont automatiquement journalisées, avec des informations supplémentaires dans un wandb.Table.
# Initialiser le run W&B
with wandb.init(project="ultralytics", job_type="inference") as run:
    # Initialiser le modèle YOLO
    model = YOLO("yolov8n.pt")

    # Ajouter le callback W&B pour Ultralytics
    add_wandb_callback(model, enable_model_checkpointing=True)

    # Effectuer une prédiction qui journalise automatiquement dans un tableau W&B
    # avec des superpositions interactives pour les boîtes englobantes et les masques de segmentation
    model(
        [
            "./assets/img1.jpeg",
            "./assets/img3.png",
            "./assets/img4.jpeg",
            "./assets/img5.jpeg",
        ]
    )
Vous n’avez pas besoin d’initialiser explicitement un run avec wandb.init() dans le cadre d’un flux de travail d’entraînement ou de fine-tuning. En revanche, si le code effectue uniquement de la prédiction, vous devez créer explicitement un run. Voici à quoi ressemble la superposition interactive de bbox : Pour en savoir plus, voir le guide des superpositions d’images W&B.

Autres ressources