Passer au contenu principal

Documentation Index

Fetch the complete documentation index at: https://wb-21fd5541-docs-2661.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Vous cherchez W&B Weave, la suite d’outils de W&B pour créer des applications d’IA générative ? Consultez la documentation de Weave.
Utilisez les panneaux de requête pour interroger vos données et les visualiser de manière interactive. Avec un panneau de requête, vous pouvez rassembler dans une seule vue des runs, des artefacts, des tableaux et d’autres objets W&B spécifiques, puis les explorer sous forme de tableaux ou de graphiques sans quitter votre espace de travail ou votre rapport. Cette page s’adresse aux utilisateurs qui souhaitent composer des requêtes ad hoc sur des données W&B enregistrées et afficher les résultats dans un espace de travail ou un rapport. Un panneau de requête combine trois éléments :
  • Expression : Les données que vous sélectionnez.
  • Configuration : Les paramètres facultatifs du panneau, comme le type de panneau et les options du menu en forme d’engrenage.
  • Panneau de résultat : La façon d’afficher les résultats, par exemple dans un tableau ou un graphique.
Pour voir un ensemble d’exemples interactifs à essayer, consultez ce rapport d’exemples du panneau de requête. Pour un guide pas à pas sur la syntaxe des requêtes, consultez le rapport tutoriel sur les panneaux de requête. Les types et opérations générés sont répertoriés dans l’aperçu du langage d’expression des requêtes.
Panneau de requête

Créer un panneau de requête

Ajoutez un panneau de requête afin de disposer d’un espace pour écrire des expressions et visualiser les résultats. Vous pouvez en ajouter un à un Workspace de projet ou dans un rapport.
  1. Accédez au workspace de votre projet.
  2. Dans l’angle supérieur droit, cliquez sur Add panel.
  3. Dans le menu déroulant, sélectionnez panneau de requête.

Composants de requête

Les sections suivantes décrivent les trois éléments qui composent un panneau de requête : l’expression qui sélectionne les données, la configuration qui détermine le comportement du panneau et le panneau de résultat qui affiche la sortie.

Expressions

Utilisez des expressions de requête pour interroger les données stockées dans W&B, comme les runs, les artefacts, les modèles, les tables, etc.

Exemple : Interroger un tableau

Supposons que vous souhaitiez interroger une W&B Table. Dans votre code d’entraînement, vous journalisez un tableau appelé "cifar10_sample_table" :
import wandb
with wandb.init() as run:
  run.log({"cifar10_sample_table":[MY-TABLE]})
Dans le panneau de requête, vous pouvez effectuer des requêtes sur votre tableau avec :
runs.summary["cifar10_sample_table"]
Expression de requête de tableau
Décomposons cela :
  • runs est une variable automatiquement injectée dans les expressions du panneau de requête lorsque le panneau de requête se trouve dans un workspace. Sa valeur est la liste des runs visibles pour ce workspace. Pour en savoir plus sur les différents attributs disponibles dans un run, voir Understanding the different attributes.
  • summary est une op qui renvoie l’objet Summary d’un run. Les opérations sont mappées, ce qui signifie que cette op est appliquée à chaque run de la liste, ce qui donne une liste d’objets Summary.
  • ["cifar10_sample_table"] est une op Pick (indiquée par des crochets) avec une clé cifar10_sample_table. Comme les objets Summary se comportent comme des dictionnaires ou des tables de correspondance, cette opération sélectionne ce champ dans chaque objet Summary.

Configurations

Dans le coin supérieur gauche du panneau, cliquez sur l’icône d’engrenage pour afficher la configuration de la requête. La configuration vous permet de définir le type de panneau et les paramètres du panneau de résultats.
Menu de configuration du panneau

Options du panneau

Le menu de configuration peut inclure des options qui modifient la manière dont le panneau combine ou charge les résultats de type tableau. Les libellés exacts et leur disponibilité dépendent de votre expression et du type de panneau. Pour voir des configurations concrètes, voir le rapport d’exemples du panneau de requête. Concat Utilisez Concat dans la configuration si vous souhaitez que le panneau fusionne des résultats compatibles de type tableau et les traite comme un seul tableau pour l’affichage et les opérations ultérieures. La fusion des lignes au niveau de l’expression (par exemple, concat et join dans la requête) est distincte de ce paramètre. Pour plus d’informations, voir Combiner des tableaux dans les expressions. Paginate Utilisez Paginate lorsqu’un résultat de tableau risque d’être trop volumineux pour être affiché en une seule fois. La pagination charge les lignes par blocs afin que le panneau reste réactif. Associez cette option à des expressions qui renvoient de longues listes de lignes. Pour les approches qui fonctionnent bien avec la pagination, voir le rapport d’exemples du panneau de requête.

Panneaux de résultats

Le panneau de résultat de la requête affiche le résultat de l’expression de requête à l’aide du panneau de requête sélectionné, configuré pour présenter les données sous une forme interactive. Les images suivantes montrent un tableau et un graphique des mêmes données.
Panneau de résultat : tableau
Panneau de résultat : graphique

Parcourir l’historique des exécutions

Dans les tableaux et graphiques construits à partir de runs ou de runs.history, l’application peut afficher un contrôle d’étape (par exemple un curseur) pour vous permettre de parcourir les étapes enregistrées et d’inspecter les métriques, le texte ou les médias au fil de vos runs. Après avoir modifié l’expression, modifiez la configuration du panneau de requête et définissez Render As sur Stepper. Le contrôle peut suivre une métrique autre que _step si cela correspond mieux à la manière dont vous avez enregistré les données. Pour obtenir des exemples d’expressions, voir le rapport d’exemples du panneau de requête.

Opérations de base

Une fois qu’un panneau de requête a affiché les résultats, vous pouvez affiner l’affichage en triant, en filtrant, en appliquant un mapping ou en regroupant les lignes. Voici les opérations courantes que vous pouvez effectuer dans vos panneaux de requête.

Trier

Triez à partir des options de la colonne :
Options de tri de la colonne

Filtre

Vous pouvez soit filtrer directement dans la requête, soit utiliser le bouton Filtre dans le coin supérieur gauche du panneau.
Syntaxe du filtre dans la requête
Bouton Filtre

Map

Les opérations Map parcourent des listes et appliquent une fonction à chaque élément des données. Vous pouvez le faire directement avec une requête de panneau, ou en insérant une nouvelle colonne depuis les options de colonne.
Requête de l'opération Map
Insertion d'une colonne Map

Regrouper

Vous pouvez regrouper à l’aide d’une requête ou depuis les options de colonne.
Regroupement par requête
Regroupement via les options de colonne

Combiner des tableaux dans les expressions

Utilisez concat, join et les opérations associées dans votre expression lorsque vous devez empiler ou fusionner des listes de lignes issues de tableaux. Voir Join pour un exemple complet. Les éléments Concat et Paginate dans Options du panneau sont des contrôles distincts qui déterminent la manière dont l’interface utilisateur fusionne et charge les résultats des tableaux.

Jointure

Vous pouvez également effectuer des jointures directement dans la requête. Considérez l’expression de requête suivante :
project("luis_team_test", "weave_example_queries").runs.summary["short_table_0"].table.rows.concat.join(\
project("luis_team_test", "weave_example_queries").runs.summary["short_table_1"].table.rows.concat,\
(row) => row["Label"],(row) => row["Label"], "Table1", "Table2",\
"false", "false")
Opération de jointure de tableaux
Le tableau de gauche est généré à partir de :
project("luis_team_test", "weave_example_queries").\
runs.summary["short_table_0"].table.rows.concat.join
Le tableau de droite est généré à partir de :
project("luis_team_test", "weave_example_queries").\
runs.summary["short_table_1"].table.rows.concat
Où :
  • (row) => row["Label"] sont les sélecteurs de chaque tableau et déterminent la colonne sur laquelle effectuer la jointure.
  • "Table1" et "Table2" sont les noms attribués à chaque tableau une fois la jointure effectuée.
  • true et false correspondent aux paramètres de jointure interne/externe à gauche et à droite.

Objet runs

Utilisez les panneaux de requête pour accéder à l’objet runs. Les objets run stockent les enregistrements de vos expériences. Pour plus de détails, voir Accéder à l’objet runs. Pour un aperçu rapide, voici ce qui est disponible dans l’objet runs :
  • summary : un dictionnaire d’informations qui résume les résultats du run. Il peut s’agir de scalaires comme l’accuracy et la perte, ou de fichiers volumineux. Par défaut, wandb.Run.log() définit summary sur la valeur finale d’une série temporelle enregistrée. Vous pouvez aussi définir directement le contenu de summary. Considérez summary comme les sorties du run.
  • history : une liste de dictionnaires destinée à stocker les valeurs qui changent pendant l’entraînement du modèle, comme la perte. La commande wandb.Run.log() ajoute des éléments à cet objet.
  • config : un dictionnaire contenant les informations de configuration du run, comme les hyperparamètres d’un run d’entraînement ou les méthodes de prétraitement d’un run qui crée un artifact de jeu de données. Considérez-les comme les « entrées » du run.
Structure de l’objet Runs

Accéder aux artefacts

Les artefacts sont un concept central de W&B. Ce sont des collections de fichiers et de répertoires, nommées et versionnées. Utilisez les artefacts pour suivre les poids de modèle, les Datasets et tout autre fichier ou répertoire. W&B stocke les artefacts, et vous pouvez les télécharger ou les utiliser dans d’autres runs. Pour plus de détails et des exemples, voir Accéder aux artefacts. En général, vous accédez aux artefacts à partir de l’objet project :
  • project.artifactVersion() : Renvoie la version spécifique de l’artefact pour un nom et une version donnés dans un projet.
  • project.artifact("") : Renvoie l’artefact correspondant à un nom donné dans un projet. Vous pouvez ensuite utiliser .versions pour obtenir la liste de toutes les versions de cet artefact.
  • project.artifactType() : Renvoie le artifactType correspondant à un nom donné dans un projet. Vous pouvez ensuite utiliser .artifacts pour obtenir la liste de tous les artefacts de ce type.
  • project.artifactTypes : Renvoie la liste de tous les types d’artefacts du projet.
Méthodes d’accès aux artefacts