> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

> Suivez vos métriques, vidéos, graphiques personnalisés et bien plus encore

# Aperçu

Journalisez un dictionnaire de métriques, de médias ou d’objets personnalisés à une étape donnée avec le SDK Python de W\&B. W\&B collecte les paires clé-valeur au cours de chaque étape et les stocke dans un dictionnaire unique chaque fois que vous journalisez des données avec `wandb.Run.log()`. Les données journalisées depuis votre script sont enregistrées localement sur votre machine dans un répertoire nommé `wandb`, puis synchronisées avec le cloud W\&B ou avec votre [serveur privé](/fr/products/wandb/platform/hosting).

<Note>
  Les paires clé-valeur ne sont stockées dans un dictionnaire unique que si vous transmettez la même valeur pour chaque étape. Si vous journalisez une valeur différente pour `step`, W\&B écrit en mémoire toutes les clés et valeurs collectées.
</Note>

Par défaut, chaque appel à `wandb.Run.log()` correspond à un nouveau `step`. W\&B utilise les étapes comme axe X par défaut lorsqu’il crée des graphiques et des panneaux. Vous pouvez également créer et utiliser un axe X personnalisé, ou capturer une métrique de synthèse personnalisée. Pour plus d’informations, voir [Personnaliser les axes de journalisation](/fr/products/wandb/track/log/customize-logging-axes).

<Warning>
  Utilisez `wandb.Run.log()` pour journaliser des valeurs consécutives à chaque `step` : 0, 1, 2, etc. Il est impossible d’écrire dans une étape précise de l’historique. W\&B écrit uniquement dans l’étape « actuelle » et l’étape « suivante ».
</Warning>

<h2 id="automatically-logged-data">
  Données consignées automatiquement
</h2>

W\&B consigne automatiquement les informations suivantes au cours d’une expérience W\&B :

* **Métriques système** : utilisation du CPU et du GPU, réseau, etc. Pour le GPU, ces données sont récupérées avec [`nvidia-smi`](https://developer.nvidia.com/nvidia-system-management-interface).
* **Ligne de commande** : les sorties stdout et stderr sont capturées et affichées dans l’onglet des journaux de la [page du run.](/fr/products/wandb/runs)

Activez l’[enregistrement du code](https://wandb.me/code-save-colab) sur la [page Paramètres](https://forge.coreweave.com/settings) de votre compte pour journaliser :

* **Commit Git** : le dernier commit Git est récupéré et affiché dans l’onglet Vue d’ensemble de la page du run, accompagné d’un fichier `diff.patch` si des modifications n’ont pas été commitées.
* **Dépendances** : le fichier `requirements.txt` est téléversé et affiché dans l’onglet des fichiers de la page du run, avec tous les fichiers que vous enregistrez dans le répertoire `wandb` du run.

<h2 id="what-data-is-logged-with-specific-wb-api-calls">
  Quelles données sont journalisées par certains appels d’API W\&B ?
</h2>

Avec W\&B, vous choisissez précisément ce que vous souhaitez journaliser. Voici quelques objets couramment journalisés :

* **Jeux de données** : vous devez journaliser explicitement les images ou autres échantillons de jeu de données pour qu’ils soient transmis à W\&B.
* **Graphiques** : utilisez `wandb.plot()` avec `wandb.Run.log()` pour suivre des graphiques. Pour plus d’informations, voir [Journaliser des graphiques](/fr/products/wandb/track/log/plots).
* **Tables** : utilisez `wandb.Table` pour journaliser des données que vous pourrez visualiser et interroger avec W\&B. Pour plus d’informations, voir [Journaliser des tableaux](/fr/products/wandb/track/log/log-tables).
* **Gradients PyTorch** : ajoutez `wandb.Run.watch(model)` pour afficher les gradients des poids sous forme d’histogrammes dans l’interface utilisateur.
* **Informations de configuration** : journalisez comme paramètres de configuration des hyperparamètres, un lien vers votre jeu de données ou le nom de l’architecture que vous utilisez, en les transmettant ainsi : `wandb.init(config=your_config_dictionary)`.
* **Métriques** : utilisez `wandb.Run.log()` pour afficher les métriques de votre modèle. Si vous journalisez des métriques telles que la précision et la perte dans votre boucle d’entraînement, vous obtiendrez des graphiques mis à jour en temps réel dans l’interface utilisateur.

<h2 id="metric-naming-constraints">
  Contraintes de nommage des métriques
</h2>

En raison des limitations de GraphQL, les noms de métriques dans W\&B doivent respecter des règles de nommage précises :

* **Caractères autorisés** : lettres (A-Z, a-z), chiffres (0-9) et caractères de soulignement (\_)
* **Premier caractère** : les noms doivent commencer par une lettre ou un caractère de soulignement
* **Motif** : les noms de métriques doivent correspondre à `/^[_a-zA-Z][_a-zA-Z0-9]*$/`

<Warning>
  Évitez d’utiliser des caractères non valides (virgules, espaces ou symboles spéciaux, par exemple) dans les noms de métriques. Ils peuvent entraîner des problèmes de tri, de requête ou d’affichage dans l’interface W\&B.
</Warning>

**Noms de métriques valides :**

```python theme={"system"}
with wandb.init() as run:
  run.log({"accuracy": 0.9, "val_loss": 0.1, "epoch_5": 5})
  run.log({"modelAccuracy": 0.95, "learning_rate": 0.001})
```

**Noms de métriques non valides (à éviter) :**

```python theme={"system"}
with wandb.init() as run:
  run.log({"acc,val": 0.9})  # Contient une virgule
  run.log({"loss-train": 0.1})  # Contient un trait d’union
  run.log({"test acc": 0.95})  # Contient une espace
  run.log({"5_fold_cv": 0.8})  # Commence par un chiffre
```

<h2 id="common-workflows">
  Flux de travail courants
</h2>

1. **Comparer la meilleure précision** : pour comparer la meilleure valeur d’une métrique entre plusieurs runs, définissez la valeur de synthèse de cette métrique. Par défaut, la synthèse correspond à la dernière valeur journalisée pour chaque clé. Cela s’avère utile dans le tableau de l’interface utilisateur, où vous pouvez trier et filtrer les runs selon leurs métriques de synthèse : vous pouvez ainsi comparer les runs dans un tableau ou un graphique à barres en fonction de leur *meilleure* précision plutôt que de leur précision finale. Par exemple : `wandb.run.summary["best_accuracy"] = best_accuracy`

2. **Afficher plusieurs métriques sur un même graphique** : journalisez plusieurs métriques dans le même appel. Par exemple :
   ```python theme={"system"}
   with wandb.init() as run:
     run.log({"acc": 0.9, "loss": 0.1})
   ```
   Vous pouvez ensuite représenter les deux métriques sur un graphique dans l’interface utilisateur.

3. **Personnaliser l’axe X** : ajoutez un axe X personnalisé dans le même appel de journalisation pour visualiser vos métriques selon un autre axe dans le tableau de bord W\&B. Par exemple :
   ```python theme={"system"}
   with wandb.init() as run:
     run.log({'acc': 0.9, 'epoch': 3, 'batch': 117})
   ```
   Pour définir l’axe X par défaut d’une métrique donnée, utilisez [Run.define\_metric()](/fr/products/wandb/ref/python/experiments/run#define_metric).

4. **Journaliser des médias enrichis et des graphiques** : `wandb.Run.log()` prend en charge la journalisation d’une grande variété de types de données, des [médias tels que les images et les vidéos](/fr/products/wandb/track/log/media) aux [tableaux](/fr/products/wandb/track/log/log-tables) et aux [graphiques](/fr/products/wandb/app/features/custom-charts).

<h2 id="best-practices-and-tips">
  Bonnes pratiques et conseils
</h2>

Pour découvrir les bonnes pratiques et les conseils relatifs à Experiments et à la journalisation, voir [Bonnes pratiques : Experiments et journalisation](https://forge.coreweave.com/wandb/wandb/pytorch-lightning-e2e/reports/W-B-Best-Practices-Guide--VmlldzozNTU1ODY1#w\&b-experiments-and-logging).
