> ## 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.

# Pourquoi mon entraînement se bloque-t-il en entraînement distribué ?

Cet article vous aide à résoudre les blocages de l'entraînement lorsque vous utilisez W\&B avec des frameworks d'entraînement distribué, afin que vos runs puissent démarrer et se terminer sans se bloquer.

Il existe deux raisons fréquentes pour lesquelles l'entraînement se bloque lorsque vous utilisez W\&B avec l'entraînement distribué :

* **Blocage au début de l'entraînement** : le multiprocessing de W\&B peut interférer avec celui des frameworks d'entraînement distribué.
* **Blocage à la fin de l'entraînement** : le processus W\&B ne détecte pas à quel moment il doit s'arrêter.

<div id="fix-hangs-at-the-start">
  ## Corriger les blocages au démarrage
</div>

Si votre run se bloque au début de l’entraînement, la cause est généralement un conflit entre le multiprocessing de W\&B et celui du framework d’entraînement distribué. Pour résoudre ce problème, activez W\&B Service, activé par défaut dans le SDK W\&B `0.13.0` et les versions ultérieures. Si vous utilisez une version antérieure, mettez à niveau votre SDK :

```bash theme={null}
pip install --upgrade wandb
```

Pour les versions `0.12.5` à `0.12.x` du SDK W\&B, activez explicitement W\&B Service :

```python theme={null}
def main():
    wandb.require("service")
    # reste de votre script
```

Pour W\&B SDK `0.12.4` et les versions antérieures, définissez la variable d'environnement `WANDB_START_METHOD` :

```bash theme={null}
export WANDB_START_METHOD=thread
```

Après avoir activé W\&B Service (ou défini la méthode de démarrage dans les anciennes versions du SDK), votre run d’entraînement distribué démarre sans blocage.

<div id="fix-hangs-at-the-end">
  ## Corriger le blocage en fin de run
</div>

Si votre run se bloque une fois l’entraînement terminé, W\&B ne détecte pas que le run est terminé. Appelez `wandb.finish()` à la fin de votre script d’entraînement pour indiquer à W\&B que le run est terminé :

```python theme={null}
wandb.finish()
```

Cet appel téléverse toutes les données et termine proprement le processus W\&B.

Pour plus d'informations, voir [l'entraînement distribué](/fr/models/track/log/distributed-training/).

***

<Badge stroke shape="pill" color="orange" size="md">[Experiments](/fr/support/models/tags/experiments)</Badge><Badge stroke shape="pill" color="orange" size="md">[Run Crashes](/fr/support/models/tags/run-crashes)</Badge>
