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

> Découvrez le composant de base de W&B, les Runs.

# Aperçu

Un *run* est une unité de calcul unique enregistrée par W\&B. Vous pouvez considérer un W\&B Run comme l'élément atomique de l'ensemble de votre projet. En d'autres termes, chaque run est l'enregistrement d'un calcul précis, comme l'entraînement d'un modèle et la consignation des résultats, des Sweeps d'hyperparamètres, etc.

Les cas d'usage courants de l'initialisation d'un run et de la consignation d'informations dans celui-ci incluent :

* Entraîner un modèle et [consigner des métriques](/fr/models/ref/python/experiments/run#method-run-log) telles que la précision et la perte
* Effectuer un [réglage des hyperparamètres](/fr/models/sweeps/) et lancer de nouvelles expériences
* Mener une nouvelle expérience de machine learning avec un modèle différent
* Suivre et enregistrer des jeux de données et des modèles sous forme de [W\&B Artifacts](/fr/models/artifacts/)
* [Télécharger et utiliser](/fr/models/artifacts/download-and-use-an-artifact/) des jeux de données ou des modèles utilisés par d'autres membres de votre équipe comme W\&B Artifacts

Pour initialiser un run W\&B, appelez la méthode [`wandb.init()`](/fr/models/ref/python/functions/init) du SDK Python W\&B. Cela démarre un nouveau run et renvoie un objet `wandb.Run` que vous pouvez utiliser pour consigner des métriques, des Artifacts et d'autres informations dans le run. Pour en savoir plus sur l'initialisation d'un run, voir [Initialize runs](/fr/models/runs/initialize-run).

Chaque objet run possède un [identifiant unique appelé *run ID*](/fr/models/runs/run-identifiers#unique-run-identifiers). [Vous pouvez spécifier un ID unique](/fr/models/runs/run-identifiers#unique-run-identifiers) ou [laisser W\&B en générer un aléatoirement pour vous](/fr/models/runs/run-identifiers#autogenerated-run-ids). Chaque objet run possède également un [nom de l'exécution](/fr/models/runs/run-identifiers#run-name) compréhensible par l'humain et non unique. Vous pouvez attribuer un nom à votre run ou laisser W\&B en générer un aléatoirement pour vous. Vous pouvez renommer un run après l'avoir initialisé.

W\&B enregistre votre run dans un [*projet*](/fr/models/track/project-page/). Vous spécifiez le projet lorsque vous initialisez le run avec `wandb.init(project="")`. W\&B crée un nouveau projet si le projet n'existe pas. Si le projet existe déjà, W\&B enregistre le run dans le projet que vous avez spécifié.

<Note>
  Si vous ne spécifiez pas de nom de projet, W\&B stocke le run dans un projet appelé `Uncategorized`.
</Note>

`wandb.init()` renvoie un objet `wandb.Run` qui contient des propriétés du run, telles que son ID, son nom, sa configuration et son état. Utilisez l'objet run pour consigner des métriques, des Artifacts et d'autres informations dans le run avec des méthodes telles que `wandb.Run.log()`, `wandb.Run.log_code()` et `wandb.Run.use_artifact()`.

Chaque run possède un état qui décrit son statut actuel. Voir [Run states](/fr/models/runs/run-states) pour obtenir la liste complète des états possibles d'un run.

[Affichez les runs et leurs propriétés](/fr/models/runs/view-logged-runs) dans l'espace de travail du projet du run sur l'application W\&B. Vous pouvez également accéder par programmation aux propriétés du run avec l'objet [`wandb.Api.Run`](/fr/models/ref/python/experiments/run).

À titre d'exemple, considérez l'extrait de code suivant, qui initialise un run W\&B et y consigne quelques métriques :

<Note>
  Renseignez votre entité W\&B dans la variable `entity` des extraits de code ci-dessous si vous souhaitez suivre l'exemple. Votre entité correspond à votre nom d'utilisateur W\&B ou au nom de votre équipe. Vous pouvez la trouver dans l'URL de votre espace de travail dans l'application W\&B. Par exemple, si l'URL de votre espace de travail est `https://wandb.ai/nico/awesome-project`, alors votre entité est `nico`.
</Note>

```python theme={null}
import wandb

entity = "nico"  # Remplacez par votre entité W&B
project = "awesome-project"

with wandb.init(entity=entity, project=project) as run:
    run.log({"accuracy": 0.9, "loss": 0.1})
```

La première ligne importe le SDK Python de W\&B. La deuxième ligne initialise un run dans le projet `awesome-project` sous l’entité `nico`. La troisième ligne enregistre la précision et la perte du modèle pour ce run.

Dans le terminal, W\&B renvoie :

```bash theme={null}
wandb: Syncing run earnest-sunset-1
wandb: ⭐️ View project at https://wandb.ai/nico/awesome-project
wandb: 🚀 View run at https://wandb.ai/nico/awesome-project/runs/1jx1ud12
wandb:                                                                                
wandb: 
wandb: Run history:
wandb: accuracy ▁
wandb:     loss ▁
wandb: 
wandb: Run summary:
wandb: accuracy 0.9
wandb:     loss 0.5
wandb: 
wandb: 🚀 View run earnest-sunset-1 at: https://wandb.ai/nico/awesome-project/runs/1jx1ud12
wandb: ⭐️ View project at: https://wandb.ai/nico/awesome-project
wandb: Synced 6 W&B file(s), 0 media file(s), 0 artifact file(s) and 0 other file(s)
wandb: Find logs at: ./wandb/run-20241105_111006-1jx1ud12/logs
```

W\&B renvoie deux URL dans la sortie du terminal. La première URL mène au [Workspace de ce run](/fr/models/runs/view-logged-runs), et la seconde mène à la page du [projet](/fr/models/track/project-page).

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541/6bJLb4DIApn2yeFO/images/runs/single-run-call.png?fit=max&auto=format&n=6bJLb4DIApn2yeFO&q=85&s=e9b33e82c518c071e6cd9edbdd9c0d19" alt="Workspace d’un run" width="2376" height="1294" data-path="images/runs/single-run-call.png" />
</Frame>

Consigner une métrique à un instant donné n’est pas forcément très utile. Un exemple plus réaliste, dans le cas de l’entraînement de modèles discriminatifs, consiste à consigner des métriques à intervalles réguliers. Par exemple, prenez l’extrait de code suivant :

```python theme={null}
import wandb
import random

config = {
    "epochs": 10,
    "learning_rate": 0.01,
}

with wandb.init(project="awesome-project", config=config) as run:
    print(f"lr: {config['learning_rate']}")
      
    # Simulation d’un run d’entraînement
    for epoch in range(config['epochs']):
      offset = random.random() / 5
      acc = 1 - 2**-epoch - random.random() / (epoch + 1) - offset
      loss = 2**-epoch + random.random() / (epoch + 1) + offset
      print(f"epoch={epoch}, accuracy={acc}, loss={loss}")
      run.log({"accuracy": acc, "loss": loss})
```

Le script d’entraînement appelle `wandb.Run.log()` 10 fois. Chaque fois que le script appelle `wandb.Run.log()`, W\&B consigne la précision et la perte pour cette époque.

Dans votre terminal, vous devriez voir une sortie semblable à la suivante :

```bash theme={null}
wandb: Syncing run jolly-haze-4
wandb: ⭐️ View project at https://wandb.ai/nico/awesome-project
wandb: 🚀 View run at https://wandb.ai/nico/awesome-project/runs/pdo5110r
lr: 0.01
epoch=0, accuracy=-0.10070974957523078, loss=1.985328507123956
epoch=1, accuracy=0.2884687745057535, loss=0.7374362314407752
epoch=2, accuracy=0.7347387967382066, loss=0.4402409835486663
epoch=3, accuracy=0.7667969248039795, loss=0.26176963846423457
epoch=4, accuracy=0.7446848791003173, loss=0.24808611724405083
epoch=5, accuracy=0.8035095836268268, loss=0.16169791827329466
epoch=6, accuracy=0.861349032371624, loss=0.03432578493587426
epoch=7, accuracy=0.8794926436276016, loss=0.10331872172219471
epoch=8, accuracy=0.9424839917077272, loss=0.07767793473500445
epoch=9, accuracy=0.9584880427028566, loss=0.10531971149250456
wandb: 🚀 View run jolly-haze-4 at: https://wandb.ai/nico/awesome-project/runs/pdo5110r
wandb: Find logs at: wandb/run-20241105_111816-pdo5110r/logs
```

W\&B enregistre la boucle d’entraînement simulée dans un seul run appelé `jolly-haze-4`. Cela s’explique par le fait que le script n’appelle la méthode `wandb.init()` qu’une seule fois.

Copiez-collez dans votre navigateur l’URL que W\&B a affichée dans la sortie précédente. Cette URL vous mène au Workspace du run dans l’interface de l’application W\&B. Par exemple, l’image suivante montre le Workspace du run `jolly-haze-4` :

<Frame>
  <img src="https://mintcdn.com/wb-21fd5541/LD8pTCCVb674rgbV/images/runs/run_log_example_2.png?fit=max&auto=format&n=LD8pTCCVb674rgbV&q=85&s=c804f7cf10df86206bdb48fb7f81995c" alt="Run d’entraînement avec métriques enregistrées" width="2592" height="1578" data-path="images/runs/run_log_example_2.png" />
</Frame>
