Passer au contenu principal
Lorsque vous lancez une expérience, vous pouvez voir des messages s’afficher dans votre console. W&B capture les journaux de console et les affiche dans la W&B App. Utilisez ces messages pour déboguer et surveiller le comportement de votre expérience. Les sections suivantes décrivent comment consulter, configurer, rechercher, filtrer, télécharger et copier les journaux de console de vos runs.

Afficher les journaux de console

Accédez aux journaux de console d’un run dans W&B App pour examiner les messages produits pendant le run.
  1. Accédez à votre projet dans W&B App.
  2. Sélectionnez un run dans le tableau Runs.
  3. Cliquez sur l’onglet Logs dans la barre latérale du projet.
W&B stocke au maximum 100 000 lignes de journaux pour un run. Dans W&B App, 10 000 lignes de journaux au maximum s’affichent à la fois. Pour voir toutes les lignes stockées, faites défiler les journaux afin d’afficher les lignes plus anciennes.

Types de journaux de console

W&B capture trois types de journaux de console et ajoute un préfixe pour indiquer le niveau de gravité de chaque log. Le préfixe vous aide à parcourir rapidement les logs et à identifier les messages les plus utiles pour le débogage. Le tableau suivant résume chaque type, classé du plus grave au moins grave.
GravitéPréfixeDescriptionExemple
ErreurERRORProblèmes graves susceptibles d’empêcher le run de se terminer correctement.ERROR Failed to save notebook.
AvertissementWARNINGProblèmes potentiels qui n’interrompent pas l’exécution.WARNING Found .wandb file, not streaming tensorboard metrics.
Infowandb:Mises à jour sur la progression et le statut du run.wandb: Starting Run: abc123

Paramètres des journaux de console

Pour contrôler les types de sortie de console que W&B capture et affiche, passez un objet wandb.Settings à wandb.init() lorsque vous initialisez un run. Les paramètres pertinents incluent show_errors, show_warnings, show_info et silent. La référence de Settings répertorie tous les paramètres et est générée à partir du SDK. Elle reste donc à jour à mesure que de nouvelles options sont ajoutées. L’exemple ci-dessous active ou désactive l’affichage des messages informatifs, des avertissements et des erreurs de W&B dans l’onglet Logs. Définissez silent=True pour supprimer toute sortie de console de W&B (utile si vous voulez qu’un script d’entraînement n’affiche rien) :
import wandb

settings = wandb.Settings(
    show_errors=True,
    silent=False,
    show_warnings=True,
)

with wandb.init(settings=settings) as run:
    run.log({"accuracy": 0.95})
Pour la capture de stdout et stderr (console), les téléversements multipart (console_multipart, console_chunk_max_bytes, console_chunk_max_seconds) et le dépannage, voir les sections ci-dessous et la référence des paramètres. L’entraînement distribué et d’autres cas limites sont traités dans Pourquoi la sortie de la console n’est-elle pas capturée pour mon run ?.

Journalisation multipart de la console

Par défaut, W&B stocke les flux stdout et stderr de votre script dans un seul fichier output.log et le téléverse à la fin du run. Tant qu’un run est actif, l’onglet Logs affiche la sortie en streaming, mais output.log n’apparaît pas dans l’onglet Files avant la fin du run. Activez la journalisation multipart de la console si vous avez besoin d’un journal de console téléchargeable pendant qu’un run est encore actif, si un run risque de planter avant la fin, ou si vous reprenez un run et souhaitez conserver la sortie du journal de console des sessions précédentes. Définissez console_multipart=True (SDK v0.22.3 ou version ultérieure) pour que le SDK écrive des fragments horodatés dans logs/ et téléverse chaque fragment à sa fermeture. Utilisez console_chunk_max_bytes et console_chunk_max_seconds pour contrôler le découpage ; voir la référence des paramètres pour les valeurs par défaut et le comportement lorsque les deux sont à 0.
Les fragments téléversés sont immuables. Les séquences de contrôle du terminal qui modifient des lignes précédentes (par exemple, les barres de progression qui utilisent des retours chariot) n’affectent que le fragment en cours.
import wandb

with wandb.init(
    project="my-project",
    settings=wandb.Settings(
        console_multipart=True,
        console_chunk_max_bytes=1_000_000,  # rotation vers ~1 Mo
        console_chunk_max_seconds=60,     # ou toutes les 60 secondes, selon la première limite atteinte
    ),
) as run:
    print("Logs upload in chunks while this run is active.")
Vous devez définir console_multipart au moment de l’appel à wandb.init. La cadence de téléversement ne peut pas être modifiée une fois le run démarré. Pour le dépannage (capture de la console désactivée, entraînement distribué, reprise de runs et limites d’affichage), voir Pourquoi la sortie de console n’est-elle pas capturée pour mon run ? et Comment puis-je télécharger le fichier journal de console d’un run ?.

Journalisation personnalisée

Si vous disposez déjà de votre propre configuration de journalisation, vous pouvez continuer à l’utiliser avec W&B. W&B capture les journaux de console de votre application, mais n’interfère pas avec votre propre configuration de journalisation. Vous pouvez utiliser la fonction print() intégrée à Python ou le module logging pour enregistrer des messages.
import wandb

with wandb.init(project="my-project") as run:
    for i in range(100, 1000, 100):
        # Journalise dans W&B et affiche dans la console
        run.log({"epoch": i, "loss": 0.1 * i})
        print(f"epoch: {i} loss: {0.1 * i}")
Les journaux de console se présentent comme suit :
1 epoch:  100 loss: 1.3191105127334595
2 epoch:  200 loss: 0.8664389848709106
3 epoch:  300 loss: 0.6157898902893066
4 epoch:  400 loss: 0.4961796700954437
5 epoch:  500 loss: 0.42592573165893555
6 epoch:  600 loss: 0.3771176040172577
7 epoch:  700 loss: 0.3393910825252533
8 epoch:  800 loss: 0.3082585036754608
9 epoch:  900 loss: 0.28154927492141724

Horodatages

W&B ajoute automatiquement des horodatages à chaque entrée des journaux de console. Cela vous permet de savoir à quel moment chaque message de log a été généré. Pour afficher ou masquer les horodatages dans les journaux de console, sélectionnez la liste déroulante Timestamp visible sur la page des journaux de console.

Rechercher dans les journaux de la console

Pour localiser rapidement les entrées pertinentes, utilisez la barre de recherche sur la page des journaux de la console pour filtrer les journaux à l’aide de mots-clés. Vous pouvez rechercher des termes, des libellés ou des messages d’erreur spécifiques.

Filtrer avec des libellés personnalisés

Les paramètres préfixés par x_ (comme x_label) sont en aperçu public. Créez une issue GitHub dans le dépôt W&B pour nous faire part de vos commentaires.
Vous pouvez filtrer les journaux de console à partir des libellés que vous passez comme arguments à x_label dans wandb.Settings. Saisissez le libellé dans la barre de recherche de la page des journaux de console.
import wandb

# Initialiser un run dans le nœud principal
with wandb.init(
    entity="[ENTITY-NAME]",
    project="[PROJECT-NAME]",
    settings=wandb.Settings(
        x_label="[CUSTOM-LABEL]"  # (Facultatif) Libellé personnalisé pour filtrer les journaux
    )
) as run:
    # Votre code ici

Télécharger les journaux de console

Pour enregistrer les journaux localement afin de les analyser hors ligne ou de les partager, téléchargez les journaux de console d’un run dans la W&B App :
  1. Accédez à votre projet dans la W&B App.
  2. Sélectionnez un run dans le tableau Runs.
  3. Cliquez sur l’onglet Logs dans la barre latérale du projet.
  4. Cliquez sur le bouton de téléchargement sur la page des journaux de console.

Copier les journaux de console

Pour coller des journaux dans un autre outil ou message, copiez les journaux de console d’un run dans la W&B App :
  1. Accédez à votre projet dans la W&B App.
  2. Sélectionnez un run dans le tableau Runs.
  3. Cliquez sur l’onglet Logs dans la barre latérale du projet.
  4. Cliquez sur le bouton de copie sur la page des journaux de console.