Skip to main content
Il existe deux raisons fréquentes pour lesquelles l’entraînement se bloque lorsque vous utilisez W&B avec l’entraînement distribué :
  1. Blocage au début de l’entraînement : le multiprocessing de W&B peut interférer avec celui des frameworks d’entraînement distribué.
  2. Blocage à la fin de l’entraînement : le processus W&B ne sait pas à quel moment il doit s’arrêter.

Corriger le blocage au démarrage

Activez W&B Service, activé par défaut à partir de la version 0.13.0 du SDK W&B. Si vous utilisez une version antérieure, mettez votre SDK à niveau :
pip install --upgrade wandb
Pour les versions 0.12.5 à 0.12.x du SDK W&B, activez explicitement W&B Service :
def main():
    wandb.require("service")
    # reste de votre script
Pour le SDK W&B 0.12.4 et les versions antérieures, définissez la variable d’environnement WANDB_START_METHOD :
export WANDB_START_METHOD=thread

Corriger le blocage en fin d’exécution

Appelez wandb.finish() à la fin de votre script d’entraînement pour indiquer à W&B que l’exécution est terminée :
wandb.finish()
Cela garantit que toutes les données sont téléversées et que le processus W&B se termine correctement. Pour plus d’informations, voir l’entraînement distribué.
Experiments Run Crashes