Cuda out of memory lors d’un sweep, refactorisez votre code pour utiliser une exécution par processus. Réécrivez votre code sous forme de script Python et lancez l’agent de sweep depuis la CLI au lieu du SDK Python.
-
Ajoutez votre logique d’entraînement à un script Python (par exemple,
train.py) : -
Indiquez le script dans votre configuration YAML de sweep :
-
Initialisez le sweep avec la CLI :
-
Démarrez l’agent de sweep avec la CLI. Remplacez
[SWEEP-ID]par l’ID renvoyé à l’étape précédente :
wandb agent) exécute chaque run dans un processus distinct avec sa propre allocation mémoire, ce qui évite l’accumulation de mémoire CUDA entre les runs. Le SDK Python (wandb.agent) n’offre pas cette isolation des processus.
Pour plus d’informations, voir dépannage de Sweeps.
Sweeps Plantages de runs