> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-2751.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Ultralytics YOLO

> Utilisez W&B avec les modèles Ultralytics YOLO pour le suivi des expériences, l’enregistrement de points de contrôle du modèle et la visualisation en vision par ordinateur.

export const ColabLink = ({url}) => <a href={url} target="_blank" rel="noopener noreferrer" className="colab-link">
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01.21.03zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z" />
    </svg>
    Essayer sur Colab
  </a>;

<ColabLink url="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/ultralytics/01_train_val.ipynb" />

[Ultralytics](https://github.com/ultralytics/ultralytics) fournit des modèles de vision par ordinateur pour 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 [YOLOv8](https://docs.ultralytics.com/models/yolov8/), une itération de la série YOLO de modèles de détection d’objets en temps réel, ainsi que d’autres modèles de vision par ordinateur tels que [SAM (Segment Anything Model)](https://docs.ultralytics.com/models/sam/#introduction-to-sam-the-segment-anything-model), [RT-DETR](https://docs.ultralytics.com/models/rtdetr/) et [YOLO-NAS](https://docs.ultralytics.com/models/yolo-nas/). Ultralytics fournit également des flux de travail prêts à l’emploi pour entraîner, effectuer le fine-tuning et utiliser ces modèles via une API.

Cette page vous montre comment intégrer W\&B à Ultralytics afin que W\&B suive et visualise automatiquement les métriques d’expérience, les points de contrôle du modèle et les prédictions sur des images de validation ou d’inférence. Elle couvre l’installation, un flux de travail d’entraînement et de validation, ainsi qu’un flux de travail dédié uniquement à l’inférence.

<div id="get-started">
  ## Premiers pas
</div>

Pour utiliser l’intégration, vous devez d’abord installer `ultralytics` et `wandb`, puis vérifier que vous utilisez une version de `ultralytics` prise en charge.

Installez `ultralytics` et `wandb` :

<Tabs>
  <Tab title="Ligne de commande">
    ```shell theme={null}
    pip install --upgrade ultralytics==8.0.238 wandb

    # ou
    # conda install ultralytics
    ```
  </Tab>

  <Tab title="Notebook">
    ```bash theme={null}
    !pip install --upgrade ultralytics==8.0.238 wandb
    ```
  </Tab>
</Tabs>

<Note>
  L'équipe de développement a testé l'intégration avec `ultralytics` v8.0.238 et les versions antérieures. Pour signaler tout problème lié à l'intégration, créez une [GitHub issue](https://github.com/wandb/wandb/issues/new?template=sdk-bug.yml) avec le tag `yolov8`.
</Note>

Une fois les deux packages installés, vous pouvez passer à l’instrumentation d’un flux de travail Ultralytics avec W\&B.

<div id="track-experiments-and-visualize-validation-results">
  ## Suivre les expériences et visualiser les résultats de validation
</div>

<ColabLink url="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/ultralytics/01_train_val.ipynb" />

Cette section présente un flux de travail typique qui utilise un modèle [Ultralytics](https://docs.ultralytics.com/modes/predict/) pour l’entraînement, le fine-tuning et la validation, et qui assure le suivi des expériences, l’enregistrement des points de contrôle du modèle et la visualisation des performances du modèle avec [W\&B](https://wandb.ai/site).

Pour plus d’informations sur l’intégration, voir [Supercharging Ultralytics with W\&B](https://wandb.ai/geekyrakshit/ultralytics/reports/Supercharging-Ultralytics-with-Weights-Biases--Vmlldzo0OTMyMDI4).

Pour utiliser l’intégration W\&B avec Ultralytics, importez la fonction `wandb.integration.ultralytics.add_wandb_callback`. Cette fonction de rappel constitue le point d’entrée qui enregistre la journalisation W\&B pour le modèle Ultralytics.

```python theme={null}
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics import YOLO
```

Ensuite, initialisez le modèle `YOLO` de votre choix, puis appelez la fonction `add_wandb_callback` sur ce modèle avant d’effectuer une inférence. Joindre le callback avant l’entraînement active la journalisation automatique à chaque époque. Ainsi, lorsque vous effectuez un entraînement, du fine-tuning, une validation ou une inférence, W\&B enregistre automatiquement les journaux de l’expérience ainsi que les images, avec les annotations de référence et les résultats de prédiction correspondants superposés à l’aide des [superpositions interactives pour les tâches de vision par ordinateur](/fr/models/track/log/media/#image-overlays-in-tables), ainsi que des informations supplémentaires dans un [`wandb.Table`](/fr/models/tables/).

```python theme={null}
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 votre modèle / effectuer le fine-tuning
    # À 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)
```

Une fois le callback ajouté et l'entraînement démarré, votre run envoie désormais en continu les métriques d'entraînement, les points de contrôle du modèle et les visualisations de validation pour chaque époque vers votre projet W\&B.

Voici à quoi ressemblent les expériences suivies avec W\&B dans un flux de travail d'entraînement ou de fine-tuning avec Ultralytics :

<blockquote class="imgur-embed-pub" lang="en" data-id="a/TB76U9O"><a href="https://imgur.com/a/TB76U9O">Expériences de fine-tuning YOLO</a></blockquote><script async src="https://s.imgur.com/min/embed.js" charset="utf-8" />

Voici comment les résultats de validation pour chaque époque sont visualisés à l'aide d'un [tableau W\&B](/fr/models/tables/) :

<blockquote class="imgur-embed-pub" lang="en" data-id="a/kU5h7W4"><a href="https://imgur.com/a/kU5h7W4">Tableau de visualisation de validation WandB</a></blockquote><script async src="https://s.imgur.com/min/embed.js" charset="utf-8" />

<div id="visualize-prediction-results">
  ## Visualiser les résultats de prédiction
</div>

<ColabLink url="https://colab.research.google.com/github/wandb/examples/blob/master/colabs/ultralytics/00_inference.ipynb" />

Cette section présente un flux de travail type qui utilise un modèle [Ultralytics](https://docs.ultralytics.com/modes/predict/) pour l’inférence et visualise les résultats à l’aide de [W\&B](https://wandb.ai/site).

Vous pouvez essayer ce code dans Google Colab : [Ouvrir dans Colab](https://wandb.me/ultralytics-inference).

Comme pour le flux de travail d’entraînement, pour utiliser l’intégration de W\&B avec Ultralytics, importez la fonction `wandb.integration.ultralytics.add_wandb_callback`.

```python theme={null}
import wandb
from wandb.integration.ultralytics import add_wandb_callback

from ultralytics.engine.model import YOLO
```

Ensuite, 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, voir la [documentation Ultralytics](https://docs.ultralytics.com/modes/predict/).

```bash theme={null}
!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
```

Une fois les images de test en place, initialisez un [run](/fr/models/runs/) W\&B à l’aide de `wandb.init()`. Initialisez ensuite le modèle `YOLO` de votre choix, puis appelez la fonction `add_wandb_callback` sur celui-ci avant d’effectuer une inférence. Cela garantit que, lorsque vous effectuez une inférence, W\&B journalise automatiquement les images avec vos [superpositions interactives pour les tâches de vision par ordinateur](/fr/models/track/log/media/#image-overlays-in-tables), ainsi que des informations supplémentaires dans un [`wandb.Table`](/fr/models/tables/).

```python theme={null}
# Initialiser le W&B Run
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(
        [
            "img1.png",
            "img2.png",
            "img4.png",
            "img5.png",
        ]
    )
```

<Note>
  Vous n'avez pas besoin d'initialiser explicitement un run avec `wandb.init()` pour 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.
</Note>

Après l'inférence, W\&B journalise les boîtes englobantes prédites et les masques de segmentation dans votre run W\&B sous forme de superpositions interactives.

Voici à quoi ressemble la superposition interactive de boîtes englobantes :

<blockquote class="imgur-embed-pub" lang="en" data-id="a/UTSiufs"><a href="https://imgur.com/a/UTSiufs">WandB Image Overlay</a></blockquote><script async src="https://s.imgur.com/min/embed.js" charset="utf-8" />

Pour plus d'informations, voir le [guide des superpositions d'images W\&B](/fr/models/track/log/media/#image-overlays).

<div id="more-resources">
  ## Autres ressources
</div>

* [Optimiser Ultralytics avec W\&B](https://wandb.ai/geekyrakshit/ultralytics/reports/Supercharging-Ultralytics-with-Weights-Biases--Vmlldzo0OTMyMDI4)
* [Détection d’objets avec YOLOv8 : un flux de travail de bout en bout](https://wandb.ai/reviewco/object-detection-bdd/reports/Object-Detection-using-YOLOv8-An-End-to-End-Workflow--Vmlldzo1NTAyMDQ1)
