Skip to main content
W&B LEET (Lightweight Experiment Exploration Tool) est une interface de terminal pilotée au clavier pour explorer les runs W&B. Utilisez LEET pour comparer des métriques locales, inspecter l’utilisation des ressources système, parcourir les images enregistrées et suivre la sortie console sans ouvrir de navigateur. LEET lit les journaux de transactions locaux .wandb, ce qui vous permet d’inspecter les runs avant qu’ils ne soient synchronisés avec le cloud. Vous pouvez également ouvrir un run distant par son URL pour consulter son historique de scalaires et sa synthèse.
Vue Workspace de W&B LEET avec des volets pour les runs, les métriques, les métriques système, les médias, les journaux de console et l’aperçu du run.

Quand utiliser LEET

LEET est conçu pour les ingénieurs qui passent le plus clair de leur temps dans un terminal, en particulier sur des machines distantes, des clusters ou des sessions SSH où un navigateur graphique est lent ou indisponible. LEET et W&B affichent les mêmes données de run sous-jacentes lorsque ces données existent localement et ont été synchronisées. LEET prend en charge les run files locaux, les mises à jour en temps réel d’un processus d’entraînement actif et une exploration limitée des runs distants.

Prérequis

Installez ou mettez à jour la CLI W&B vers la dernière version à l’aide de pip ou uv :
Ce guide décrit le comportement le plus récent de la CLI.
Dans le SDK v0.27.x et les versions antérieures, lancez le TUI LEET avec wandb beta leet au lieu de wandb leet.

Launch LEET

Depuis le répertoire qui contient votre dossier wandb/, ouvrez le Workspace par défaut et sélectionnez automatiquement le run local le plus récent :
Vous pouvez fournir un PATH facultatif pointant vers un répertoire Workspace, le répertoire d’un run spécifique ou un fichier .wandb :
Ouvrez le moniteur système autonome (SYMON) pour consulter les métriques de l’hôte en dehors de tout contexte de run :
Pour la syntaxe de la commande et les sous-commandes, voir wandb leet dans la Référence CLI.

Runs distants

Pour afficher un run synchronisé, indiquez son URL. Remplacez [ENTITY], [PROJECT] et [RUN-ID] par les valeurs de l’URL de votre run :
Les runs distants nécessitent une connexion réseau et une authentification par clé API auprès du serveur qui héberge le run. LEET utilise vos identifiants d’authentification configurés ou vous invite à vous connecter. Le mode distant ouvre l’historique scalaire et la synthèse d’un seul run. Il ne propose ni mises à jour en direct, ni comparaison entre plusieurs runs, ni configuration, system metrics, media, console logs, axes X personnalisés ou inspecteur d’enregistrements. Utilisez des run files locaux pour ces fonctionnalités.

Vues et mise en page des volets

LEET propose trois vues principales : workspace, run unique et SYMON. Le record inspector fournit une vue distincte d’un journal de transactions local.

Vue Workspace

La vue Workspace s’affiche par défaut. Elle est conçue pour comparer plusieurs runs issus du même répertoire local wandb/. Les volets typiques incluent :
  • Barre latérale Runs — parcourez et filtrez les dossiers de runs locaux.
  • Grille de métriques — superposez les runs sélectionnés sur les mêmes graphiques scalaires.
  • Métriques système — graphiques du run en surbrillance.
  • Médias — miniatures wandb.Image affichées dans le terminal.
  • Journal de la console — sorties stdout et stderr regroupées pour le run en surbrillance.
  • Aperçu du run — état, ID, tag, notes, configuration et valeurs de synthèse.
Utilisez space pour sélectionner ou désélectionner un run afin de superposer ses métriques. Les runs sélectionnés sont marqués d’une icône pleine. Utilisez p pour épingler un run afin que sa série reste au premier plan dans les graphiques de métriques. Appuyez sur enter sur le run en surbrillance pour ouvrir la vue run unique. Les runs en cours continuent de se mettre à jour dans Workspace, ce qui vous permet d’utiliser LEET aussi bien pour l’analyse après exécution que pour surveiller un job actif. Les runs en cours sont signalés par des marqueurs animés dans la liste des runs et par un indicateur d’état clignotant dans la barre de statut. LEET marque un run local en cours comme planté après 10 minutes sans mise à jour du journal de transactions. Si les écritures reprennent, LEET reprend la surveillance en direct. Dans les terminaux étroits, LEET masque temporairement la barre latérale d’aperçu du run, puis la barre latérale Runs, afin de laisser si possible au moins 24 colonnes aux graphiques. Les barres latérales réapparaissent lorsque le terminal dispose de suffisamment d’espace.

Vue d’un run unique

La vue d’un run unique se concentre sur un run, avec une grille de métriques au centre, l’aperçu du run à gauche et les métriques système à droite. Les volets des médias et du journal de la console s’ouvrent sous la grille de métriques lorsqu’ils sont activés.
Vue LEET d’un run unique dans W&B, avec des volets d’aperçu du run, de graphiques de métriques et de métriques système.
Appuyez sur esc pour quitter le filtre actif ou la vue des médias en plein écran, puis pour retirer le focus du volet. Pour un run local, appuyez à nouveau sur esc lorsqu’aucun volet n’a le focus afin de revenir à la vue de l’espace de travail.

SYMON

SYMON surveille les métriques locales du CPU, de la mémoire, du disque, du réseau et des accélérateurs. Il utilise le même moteur de graphiques que les volets de métriques système associés à des runs, mais n’est pas lié à un fichier de run W&B.
Vue des métriques système de W&B LEET avec des graphiques GPU et un mode de carte thermique par buckets.

Inspecteur d’enregistrements

Utilisez l’inspecteur d’enregistrements pour examiner les enregistrements bruts d’un journal de transactions .wandb local. Dans la vue run unique, appuyez sur i pour l’ouvrir sur le run actuel. Vous pouvez également le lancer directement :
Le chemin facultatif accepte un fichier .wandb, un répertoire de run ou un répertoire d’espace de travail. Sans chemin, ou avec un répertoire d’espace de travail, LEET ouvre le run le plus récent. La liste des enregistrements affiche les types et les synthèses des enregistrements, ainsi que le texte complet de l’enregistrement sélectionné. Appuyez sur / pour filtrer par type ou par synthèse, sur tab pour basculer entre les modes regex et glob pendant la saisie, et sur ctrl+/ pour effacer le filtre. Lorsque le focus est sur la liste des enregistrements, appuyez sur end pour suivre les nouveaux enregistrements d’un run en cours. Si vous avez ouvert l’inspecteur avec i, appuyez sur esc depuis la liste des enregistrements pour revenir au run. Lorsque la sortie standard est redirigée ou transmise à un pipe, la commande affiche les enregistrements disponibles au format texte Protocol Buffer, puis se termine :

Fonctionnalités clés

Comparaison de plusieurs runs

Sélectionnez plusieurs runs dans la vue Workspace pour comparer des métriques scalaires sur des graphiques partagés. Chaque run se voit attribuer une couleur stable, et LEET réduit les collisions entre couleurs de base afin que les séries superposées restent faciles à distinguer. L’épinglage est utile lorsque de nombreux runs sont sélectionnés et que vous souhaitez qu’une série soit affichée au-dessus des autres. Appuyez sur f pour filtrer la liste des runs par nom, projet, tags, notes, valeurs de configuration et autres métadonnées. Les termes seuls effectuent une recherche dans la clé du run, le nom d’affichage, l’ID du run, le projet, les tags et les notes. Le filtre prend également en charge les requêtes par champ : Les opérateurs pris en charge sont :, =, !=, >, >=, < et <=. Les comparaisons numériques sont utiles pour les valeurs de configuration telles que le taux d’apprentissage, la taille de lot ou le nombre de couches. Utilisez des espaces ou AND pour la conjonction, OR ou | pour les alternatives, et -, ! ou NOT pour la négation. Utilisez des guillemets pour les expressions contenant des espaces.
Lors de la modification d’un filtre, appuyez sur tab pour basculer entre les modes regex et glob. Le mode regex fonctionne comme une recherche de sous-chaîne insensible à la casse, sauf si la requête contient des métacaractères regex. Le mode glob prend en charge * pour toute séquence de caractères et ? pour n’importe quel caractère unique. LEET enregistre les filtres de runs, de métriques et de métriques système, y compris leurs modes de correspondance, dans .wandb-leet.json à l’intérieur de chaque répertoire local wandb/. Il les restaure lorsque vous rouvrez ce répertoire dans la vue Workspace ou la vue run unique. Effacer un filtre efface également sa valeur enregistrée. Les filtres du journal de console et de l’aperçu du run ne sont pas conservés d’une session à l’autre.

Métriques et métriques système

LEET affiche les métriques scalaires sous forme de graphiques linéaires dans le terminal. Filtrez les métriques de run avec / et les métriques système avec \. Lorsque le volet des journaux de la console a le focus, / filtre les journaux à la place. Appuyez sur y lorsqu’un graphique a le focus pour parcourir les différents modes, comme l’axe Y en échelle logarithmique ou les vues heatmap par buckets pour les métriques système exprimées en pourcentage. Appuyez sur g pour faire défiler les repères du graphique : désactivés, arrière-plan pointillé, puis lignes horizontales alignées sur les graduations de l’axe Y. Ce paramètre s’applique aux vues workspace, run unique et SYMON, et il est conservé d’une session à l’autre. Par défaut, LEET trace chaque métrique en fonction de la métrique d’étape interne de W&B (_step). Pour les runs locaux, un axe X personnalisé défini avec run.define_metric() est prioritaire, y compris pour les définitions utilisant des motifs glob. Par exemple, ce run trace train/loss en fonction de train/step :
L’en-tête du graphique et la barre de statut affichent [x: train/step]. Les lignes sans valeur finie pour l’axe X personnalisé sont omises. Chaque graphique utilise un seul axe X : comparez donc des runs partageant la même définition d’axe. Un axe personnalisé remplace l’axe des étapes par défaut, et les séries utilisant un autre axe ne sont pas tracées sur ce graphique. Utilisez la molette de la souris pour zoomer sur le graphique actif. Sur les graphiques de métriques système en direct, LEET applique par défaut une fenêtre glissante des dernières données (10 minutes par défaut). Faites un clic droit et faites glisser sur un graphique pour inspecter le point le plus proche. Maintenez alt enfoncée pendant le glissement pour inspecter les graphiques visibles de la même grille à la même position X. Les graphiques de métriques ne se synchronisent que s’ils partagent le même axe X.

Multimédia et journaux de console

Le volet multimédia affiche les séries wandb.Image, y compris les listes d’images journalisées sous une même clé, avec une vignette par image. Affichez-le ou masquez-le avec 3 dans la vue workspace ou la vue run unique. Lorsque le volet multimédia a le focus, utilisez w, a, s et d pour sélectionner des vignettes. Les flèches gauche et droite avancent d’une image, et les flèches haut et bas de 10 images. Appuyez sur enter pour afficher le média en plein écran et sur esc pour quitter ce mode. Appuyez sur l pour synchroniser le défilement entre les séries d’images : les flèches, home et end déplacent alors un curseur partagé le long de leur chronologie d’étapes combinée. Appuyez sur k pour basculer entre les vignettes ANSI et le rendu haute résolution dans les terminaux qui prennent en charge le protocole graphique Kitty. LEET revient au mode ANSI lorsque le terminal ne prend pas en charge le rendu haute résolution. Le remplissage des images utilise l’arrière-plan du terminal.
Vue workspace de W&B LEET avec le volet multimédia affichant plusieurs séries d'images.
Affichez ou masquez les journaux de console avec 4. LEET reconstruit des lignes de journal lisibles à partir de la sortie brute du terminal, y compris les codes d’échappement ANSI et les lignes de progression avec retour chariot. Pour filtrer la sortie de la console, donnez le focus au volet des journaux, appuyez sur /, puis saisissez un motif. Appuyez sur tab pendant la saisie pour basculer entre la correspondance par expression régulière et la correspondance glob. Appuyez sur enter pour appliquer le filtre ou sur esc pour abandonner la requête en cours de saisie. LEET affiche les lignes correspondantes et suit les nouvelles correspondances lorsque vous vous trouvez à la fin du journal. Lorsque le volet des journaux a le focus, appuyez sur ctrl+/ ou ctrl+l pour effacer le filtre. Pour connaître le comportement des journaux de console dans la W&B App, voir Console logs.

Configuration

Enregistrez la mise en page, les couleurs, les volets par défaut et le mode de démarrage avec l’éditeur de configuration :
LEET écrit wandb-leet.json dans ~/.config/wandb/ par défaut, ou dans WANDB_CONFIG_DIR si cette variable est définie. Vous pouvez aussi redimensionner les grilles directement dans LEET avec c et r. Faites glisser les bordures des volets et les lignes de séparation pour redimensionner les barres latérales, les volets empilés ainsi que les sections Environment, Config et Summary de l’aperçu du run. La bordure active est mise en évidence pendant le glissement. LEET enregistre les proportions séparément pour les vues workspace, run unique et inspecteur. Appuyez sur 0 pour réinitialiser les tailles de la vue courante, y compris celles des sections de l’aperçu du run. Dans l’éditeur de configuration, la liste des champs défile avec votre sélection pour s’adapter aux terminaux de faible hauteur. Appuyez sur space pour basculer un paramètre booléen.
Éditeur de configuration LEET de W&B affichant les paramètres de grille, les jeux de couleurs, les paramètres de visibilité et la sélection de palette.

Clés de configuration courantes

Plusieurs palettes de couleurs sont disponibles, comme wandb-vibe-10, wandb-vibe-20, sunset-glow, blush-tide, gilded-lagoon, bootstrap-vibe, dusk-shore, clear-signal, traffic-light, viridis, plasma, inferno, magma et cividis.
  • Les palettes dusk-shore et clear-signal sont adaptées aux personnes daltoniennes.
  • Les palettes séquentielles comme viridis, plasma, inferno, magma, cividis et traffic-light conviennent bien aux cartes thermiques par compartiments.

Diagnostics et télémétrie

LEET affiche les échecs de démarrage sur stderr. Pour collecter les journaux de débogage, lancez-le avec WANDB_DEBUG=true :
La sortie de débogage est écrite dans wandb-leet.debug.log, aux côtés du fichier de configuration global wandb-leet.json. LEET n’envoie pas de données de télémétrie d’utilisation lorsque WANDB_MODE=offline, WANDB_MODE=disabled ou WANDB_ERROR_REPORTING=false. LEET est conçu pour être utilisé au clavier et à la souris. Appuyez sur h ou ? dans LEET pour ouvrir la superposition d’aide intégrée à l’application pour la vue actuelle. Dans les vues du Workspace et du run unique :
  • tab et shift+tab font passer le focus d’un volet visible à l’autre.
  • w, a, s, d et les touches fléchées permettent de se déplacer dans le volet actif (sauf dans le volet multimédia, où les flèches font défiler l’axe X et WASD permet de se déplacer entre les tuiles).
  • home, end, pgup et pgdown permettent de sauter rapidement dans les listes, les pages de graphiques ou les éléments multimédias.
  • 1, 2, 3 et 4 affichent ou masquent la grille des métriques, les métriques système, le multimédia et le volet des journaux de la console.
  • [ et ] affichent ou masquent les barres latérales (liste des runs, aperçu du run ou métriques système selon la vue).
Pour consulter les tableaux complets des raccourcis clavier pour le Workspace, le run unique, SYMON, le multimédia, l’inspecteur d’enregistrements et les actions de la souris, voir Keyboard shortcuts (onglet LEET).

Limitations par rapport à la W&B App

LEET complète la W&B App, mais ne reprend pas toutes les fonctionnalités du Workspace. Si vous avez besoin d’Artifacts, d’analyses de Sweeps ou de types de panneaux que LEET ne propose pas, ouvrez le run dans la W&B App après synchronisation.

Journal des modifications

LEET a d’abord été lancé en version bêta dans le SDK v0.23.0, puis est passé en disponibilité générale (GA) dans le SDK v0.28.0. Pour plus de détails, référez-vous aux notes de version du SDK.