> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-2626.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Dépannez les problèmes courants de balayages, notamment CommError, CUDA out of memory et les échecs de wandb agent.

# Dépannage de balayages

Cette page vous aide à diagnostiquer et à résoudre les messages d’erreur courants que vous pouvez rencontrer lorsque vous exécutez des balayages W\&B. Les sections suivantes décrivent une erreur, expliquent pourquoi elle se produit et indiquent comment la corriger.

<div id="commerror-run-does-not-exist-and-error-error-uploading">
  ## `CommError, Run does not exist` and `ERROR Error uploading`
</div>

Il se peut que l’ID de votre run W\&B soit défini si W\&B renvoie ces deux messages d’erreur. Par exemple, vous pourriez avoir un extrait de code similaire défini quelque part dans vos notebooks Jupyter ou dans votre script Python :

```python theme={null}
wandb.init(id="some-string")
```

Vous ne pouvez pas définir d’ID de run pour les balayages, car W\&B génère automatiquement des ID aléatoires et uniques pour les runs créés par les balayages.

Les ID de run W\&B doivent être uniques au sein d’un projet.

Si vous souhaitez définir un nom personnalisé qui apparaîtra dans les tableaux et les graphiques, renseignez le paramètre `name` lors de l’initialisation de W\&B. Par exemple :

```python theme={null}
wandb.init(name="a helpful readable run name")
```

Après avoir supprimé l’argument `id` de `wandb.init()`, le balayage peut attribuer ses propres ID de run uniques et les erreurs de téléversement disparaissent.

<div id="cuda-out-of-memory">
  ## `CUDA out of memory`
</div>

Si vous voyez ce message d’erreur, refactorisez votre code pour utiliser des exécutions dans des processus distincts. Lorsque vous exécutez chaque essai dans son propre processus, W\&B libère la mémoire GPU entre les runs.

Pour refactoriser votre code, effectuez les étapes suivantes :

1. Réécrivez votre code sous forme de script Python nommé `train.py`. Ajoutez le nom du script d’entraînement (`train.py`) à votre fichier YAML de configuration du balayage (`config.yaml` dans cet exemple) :

   ```yaml theme={null}
   program: train.py
   method: bayes
   metric:
     name: validation_loss
     goal: maximize
   parameters:
     learning_rate:
       min: 0.0001
       max: 0.1
     optimizer:
       values: ["adam", "sgd"]
   ```

2. Ajoutez ce qui suit à votre script Python `train.py` :

   ```python theme={null}
   if __name__ == "__main__":
       train()
   ```

3. Depuis votre CLI, initialisez un balayage avec `wandb sweep` :

   ```bash theme={null}
   wandb sweep config.yaml
   ```

4. Notez l’ID du balayage renvoyé par W\&B. Démarrez la tâche du balayage avec [`wandb agent`](/fr/models/ref/cli/wandb-agent) depuis la CLI plutôt qu’avec le SDK Python ([`wandb.agent()`](/fr/models/ref/python/functions/agent)). Remplacez `[SWEEP-ID]` dans l’extrait de code suivant par l’ID du balayage renvoyé par W\&B à l’étape précédente :

   ```bash theme={null}
   wandb agent [SWEEP-ID]
   ```

Lorsque votre code d’entraînement s’exécute sous forme de script via l’agent CLI, chaque essai s’exécute dans son propre processus, et W\&B libère la mémoire GPU entre les runs.

<div id="anaconda-400-error">
  ## `anaconda 400 error`
</div>

L’erreur suivante se produit généralement lorsque vous n’avez pas journalisé la métrique que vous optimisez :

```text theme={null}
wandb: ERROR Error while calling W&B API: anaconda 400 error: 
{"code": 400, "message": "TypeError: bad operand type for unary -: 'NoneType'"}
```

Dans votre fichier YAML ou votre dictionnaire imbriqué, indiquez une clé nommée `metric` à optimiser. Assurez-vous d'journaliser cette métrique avec `wandb.Run.log()`. Assurez-vous également d'utiliser le nom *exact* de la métrique que vous avez définie comme objectif d'optimisation du balayage dans votre script Python ou votre notebook Jupyter. Pour plus d'informations sur les fichiers de configuration, voir [Définir la configuration d’un balayage](/fr/models/sweeps/define-sweep-configuration).
