Skip to main content
Journalisez des médias avec le SDK Python Weights & Biases pour inspecter les entrées et les sorties de vos modèles, et comparer les résultats entre vos runs, vos modèles et vos datasets. Les types pris en charge comprennent les images, l’audio, les vidéos, les histogrammes, les nuages de points 3D, les molécules et le HTML. Pour plus de détails sur l’API, consultez la référence des Types de données. Pour des exemples, consultez le rapport sur les prédictions de modèles ou regardez le guide pas à pas en vidéo.

Prérequis

Certains types de médias nécessitent des dépendances supplémentaires. Pour installer le SDK Weights & Biases avec les dépendances liées aux médias, exécutez :

Images

Utilisez wandb.Image pour journaliser des images à partir de tableaux NumPy, d’images PIL ou de fichiers locaux. La journalisation d’images vous permet d’inspecter les entrées, les sorties, les poids des filtres et les activations.
Entrées et sorties d’un autoencodeur
CoreWeave recommande de journaliser moins de 50 images par étape afin de limiter l’impact sur les performances d’entraînement et sur les temps de chargement des images.
Les onglets suivants montrent comment journaliser des images à partir de différents types d’entrée.
Fournissez directement des tableaux lorsque vous construisez des images manuellement, par exemple avec make_grid de torchvision.
Weights & Biases convertit les tableaux en images PNG à l’aide de Pillow.
Pour les tableaux NumPy, utilisez la forme (height, width, channels). Weights & Biases déduit le format (niveaux de gris, RGB ou RGBA) du nombre de canaux : 1, 3 ou 4, respectivement. Par défaut, les images sont enregistrées au format PNG.Les valeurs des pixels sont normalisées dans la plage 0–255 si elles sortent de cette plage ou si elles sont toutes comprises entre 0 et 1. Pour désactiver la normalisation, passez normalize=False. Pour mieux contrôler la conversion des tableaux, créez une image PIL comme indiqué dans l’onglet Images PIL.
Pour comparer des images d’une étape d’entraînement à l’autre, développez le panneau d’images dans l’interface de l’application Weights & Biases et utilisez le curseur de sélection des étapes. Sélectionnez une image pour l’ouvrir en plein écran : vous pouvez alors zoomer et vous déplacer avec la souris ou les raccourcis clavier. Pour comparer dans une même vue des images ou des vidéos issues de différents runs, étapes ou indices, utilisez le mode de comparaison.

Superpositions d’images

Journalisez des masques de segmentation sémantique pour ajuster leur opacité et examiner leur évolution d’une étape à l’autre dans l’interface de l’application Weights & Biases.
Journalisez des images avec des masques de segmentation ou des boîtes englobantes pour examiner les prédictions du modèle et la vérité terrain dans l’interface de l’application Weights & Biases.
Affichage interactif des masques
Passez un dictionnaire à l’argument masks de wandb.Image. Chaque clé correspond au nom d’un masque, par exemple predictions ou ground_truth. Chaque valeur est un dictionnaire contenant les champs suivants :Pour journaliser plusieurs masques pour une même image, fournissez un dictionnaire distinct pour chaque masque :
Les masques de segmentation de chaque clé sont définis à chaque step (chaque appel à wandb.Run.log()).
  • Si plusieurs steps fournissent des valeurs différentes pour la même clé de masque, seule la valeur la plus récente de cette clé est appliquée à l’image.
  • Si plusieurs steps fournissent des clés de masque différentes, les commandes de visibilité affichent toutes les clés, mais seuls les masques définis au step sélectionné sont appliqués à l’image. Activer ou désactiver un masque qui n’est pas défini à ce step n’a aucun effet sur l’image.
Pour un exemple complet, consultez le rapport sur les masques de segmentation et le notebook d’exemple.
Pour un exemple interactif, consultez le rapport sur les boîtes englobantes.

Superpositions sur les images dans les Tables

Pour afficher des superpositions sur les images dans une Table Weights & Biases, ajoutez à chaque ligne un objet wandb.Image contenant des masques ou des boîtes englobantes.
Masques de segmentation interactifs dans les Tables
Cet exemple journalise une image avec des masques de segmentation pour chaque ligne du tableau :

Histogrammes

Utilisez wandb.Histogram pour journaliser des distributions numériques, comme les gradients d’un modèle. Dans l’interface de l’application Weights & Biases, l’axe X représente les étapes d’entraînement, l’axe Y les valeurs de métrique, et la couleur indique le nombre d’occurrences dans chaque classe.
Passez une séquence de nombres, comme une liste, un tableau ou un tenseur, à wandb.Histogram. Weights & Biases aplatit les tableaux et les tenseurs, puis utilise numpy.histogram() pour calculer l’histogramme.Par défaut, les histogrammes comportent 64 classes. Pour personnaliser le nombre de classes, attribuez à num_bins une valeur pouvant aller jusqu’à 512.
Gradients du discriminateur d’un GAN
Vous pouvez également définir density=True pour exprimer les valeurs des classes sous forme de densité de probabilité plutôt que d’effectifs.

Visualisations 3D

Utilisez wandb.Object3D pour journaliser des nuages de points 3D et des scènes lidar avec des boîtes englobantes. Fournissez un tableau NumPy contenant les coordonnées des points et, éventuellement, leurs couleurs ou leurs étiquettes de catégorie. Les nuages de points sont interactifs dans l’interface de l’application Weights & Biases. Faites glisser la souris pour faire pivoter la vue, zoomez pour examiner les détails ou maintenez la touche Control enfoncée tout en utilisant la souris pour vous déplacer dans la scène. Le rapport suivant présente des scènes du dataset Lyft avec des boîtes englobantes 3D :
L’interface de l’application Weights & Biases affiche jusqu’à 300 000 points par nuage de points.

Formats de tableaux NumPy

Utilisez l’un des formats de tableaux suivants, où n correspond au nombre de points :

Objet Python

Utilisez wandb.Object3D.from_point_cloud() pour créer une scène contenant des points, des boîtes englobantes et des vecteurs.
Pour vous déplacer dans un nuage de points depuis l’interface de l’application Weights & Biases, maintenez la touche Control enfoncée tout en déplaçant la souris.

Fichiers de nuages de points

Utilisez wandb.Object3D.from_file() pour charger des données de nuage de points depuis un fichier JSON :
L’exemple JSON suivant illustre le format des données de nuage de points :

Tableaux NumPy

Utilisez wandb.Object3D.from_numpy() avec l’un des formats de tableaux pris en charge :

Molécules

Utilisez wandb.Molecule pour journaliser des données moléculaires et examiner des structures 3D dans l’interface de l’application Weights & Biases.
Les types de fichiers pris en charge sont pdb, pqr, mmcif, mcif, cif, sdf, sd, gro, mol2 et mmtf. Vous pouvez également journaliser des chaînes SMILES, des fichiers mol RDKit et des objets rdkit.Chem.rdchem.Mol. Ces exemples nécessitent RDKit.
Pour un exemple interactif, consultez le workspace AlphaFold.
Structure moléculaire

Vue 2D d’une molécule

Vous pouvez journaliser une vue 2D d’une molécule à l’aide du type de données wandb.Image et de rdkit :

Autres médias

Weights & Biases prend également en charge la journalisation de nombreux autres types de médias.

Audio

Utilisez wandb.Audio pour journaliser des données audio. Définissez sample_rate sur le taux d’échantillonnage de l’enregistrement, exprimé en hertz.
Vous pouvez journaliser jusqu’à 100 clips audio par étape. Pour plus d’informations, voir audio-file.

Vidéo

Utilisez wandb.Video pour journaliser un fichier vidéo :
Pour journaliser un tableau NumPy d’images vidéo, indiquez le format de sortie et la fréquence d’images :
Utilisez la forme (frames, channels, height, width) pour une seule vidéo ou (batch, frames, channels, height, width) pour un lot. L’encodage de tableaux NumPy nécessite FFmpeg et MoviePy. Les formats pris en charge sont "gif", "mp4", "webm" et "ogg". Si vous transmettez un tableau ou un flux en mémoire, spécifiez format. Pour l’encodage d’images brutes, la fréquence d’images par défaut est de 4 images par seconde. Si vous fournissez un chemin de fichier, Weights & Biases vérifie que le fichier existe et que son format est pris en charge. Si vous fournissez un objet BytesIO, Weights & Biases crée un fichier temporaire dont l’extension correspond au format spécifié. Pour afficher et lire des vidéos, ouvrez un volet multimédia dans le Workspace de votre projet, dans le workspace de votre run ou dans votre rapport. Utilisez le mode de comparaison pour comparer des vidéos entre plusieurs runs ou étapes.

Texte

Utilisez wandb.Table pour afficher du texte à côté de prédictions, d’étiquettes ou d’autres valeurs. Indiquez les noms des colonnes lors de la création du tableau. Par défaut, les en-têtes de colonne sont ["Input", "Output", "Expected"]. Pour garantir des performances optimales de l’interface utilisateur, le nombre maximum de lignes est fixé par défaut à 10 000. Vous pouvez toutefois redéfinir explicitement ce maximum avec wandb.Table.MAX_ROWS = {DESIRED_MAX}.
Vous pouvez également ajouter des lignes avec wandb.Table.add_data() :
Pour créer un tableau à partir d’un DataFrame pandas, passez-le à dataframe :
Pour en savoir plus sur l’utilisation, consultez string.

HTML

Utilisez wandb.Html pour afficher du HTML personnalisé dans un panneau de la page du run. Passez un fichier HTML ou une chaîne de caractères :
Par défaut, Weights & Biases ajoute des styles au HTML. Pour désactiver ce comportement, passez inject=False. Pour désactiver ce comportement, passez inject=False :
Pour plus d’informations sur l’utilisation, consultez html-file.
Dernière modification le 14 octobre 2026