Passer au contenu principal
L’API W&B Report and Workspace est en aperçu public.
Bibliothèque Python pour interagir de manière programmatique avec l’API W&B Workspace.
# Comment importer
import wandb_workspaces.workspaces as ws
import wandb_workspaces.reports.v2 as wr

# Exemple de création d'un workspace
ws.Workspace(
     name="Example W&B Workspace",
     entity="entity", # entité propriétaire du workspace
     project="project", # projet associé au workspace
     sections=[
         ws.Section(
             name="Validation Metrics",
             panels=[
                 wr.LinePlot(x="Step", y=["val_loss"]),
                 wr.BarPlot(metrics=["val_accuracy"]),
                 wr.ScalarChart(metric="f1_score", groupby_aggfunc="mean"),
             ],
             is_open=True,
         ),
     ],
)
workspace.save()

class RunSettings

Paramètres d’un run dans un runset (barre de gauche). Attributs :
  • color (str): La couleur du run dans l’interface utilisateur. Peut être au format hexadécimal (#ff0000), une couleur CSS (red) ou au format RGB (rgb(255, 0, 0))
  • disabled (bool): Indique si le run est désactivé (œil fermé dans l’interface utilisateur). La valeur par défaut est False.

class RunsetSettings

Paramètres du runset (la barre de gauche contenant les runs) dans un Workspace. Attributs :
  • query (str): Une requête pour filtrer le runset (peut être une expression régulière, voir le paramètre suivant).
  • regex_query (bool): Indique si la requête (ci-dessus) est une expression régulière. La valeur par défaut est False.
  • filters (Union[str, LList[expr.FilterExpr]]): Une liste de filtres à appliquer au runset, ou une expression sous forme de chaîne.
    • Sous forme de liste : les filtres sont combinés avec l’opérateur AND. Voir FilterExpr pour plus d’informations sur la création de filtres.
    • Sous forme de chaîne : utilisez des expressions de type Python, par ex., “Config(‘lr’) = 0.001 and State = ‘finished’”
  • Supports operators: =, ==, !=, <, >, <=, >=, in, not in
  • groupby (LList[expr.MetricType]): Une liste de métriques selon lesquelles regrouper les éléments du runset. Définissez-la sur Metric, Summary, Config, Tags ou KeysInfo.
  • order (LList[expr.Ordering]): Une liste de métriques et d’ordres de tri à appliquer au runset.
  • run_settings (Dict[str, RunSettings]): Un dictionnaire de paramètres de run, où la clé est l’ID du run et la valeur un objet RunSettings.
  • pinned_columns (LList[str]): Liste des noms de colonnes à épingler.
  • Column names use format: “run:displayName”, “summary:metric”, “config:param”.
  • run: displayName est ajouté automatiquement s’il n’est pas déjà présent.
  • Example: [“summary:accuracy”, “summary:loss”]
Exemple :
    # Utilisation de filtres sous forme de chaîne (nouveau)
    RunsetSettings(
        filters="Config('learning_rate') = 0.001 and State = 'finished'",
        pinned_columns=["summary:accuracy", "summary:loss"],
    )

    # Utilisation d'une liste FilterExpr (méthode originale)
    RunsetSettings(
        filters=[expr.Config("learning_rate") == 0.001],
        pinned_columns=["summary:accuracy", "summary:loss"],
    )

méthode convert_filterexpr_list_to_string

convert_filterexpr_list_to_string()
Convertit une liste de FilterExpr en expression sous forme de chaîne (format interne unifié).

méthode validate_and_setup_columns

validate_and_setup_columns()
Assurez-vous que run:displayName est présent et configurez les champs de colonne internes.

class Section

Représente une section dans un Workspace. Attributs :
  • name (str): Le nom/titre de la section.
  • panels (LList[PanelTypes]): Une liste ordonnée de panneaux dans la section. Par défaut, le premier se trouve en haut à gauche et le dernier en bas à droite.
  • is_open (bool): Indique si la section est ouverte ou fermée. Par défaut, elle est fermée.
  • pinned (bool): Indique si la section est épinglée. Les sections épinglées apparaissent en haut du Workspace. La valeur par défaut est False.
  • layout_settings (SectionLayoutSettings): Paramètres de mise en page des panneaux dans la section.
  • panel_settings: Paramètres au niveau des panneaux appliqués à tous les panneaux de la section, similaires à WorkspaceSettings pour une Section.

class SectionLayoutSettings

Paramètres de mise en page des panneaux d’une section, généralement visibles en haut à droite de la section dans l’UI Workspace de W&B App. Attributs :
  • columns (int): Le nombre de colonnes dans la mise en page. La valeur par défaut est 3.
  • rows (int): Le nombre de lignes dans la mise en page. La valeur par défaut est 2.

class SectionPanelSettings

Paramètres du panneau d’une section, similaires à WorkspaceSettings pour une section. Les paramètres appliqués ici peuvent être remplacés par des paramètres de panneau plus précis, selon l’ordre de priorité suivant : Section < Panel. Attributs :
  • x_axis (str): Paramètre du nom de la métrique de l’axe x. Par défaut, la valeur est “Step”.
  • x_min Optional[float]: Valeur minimale de l’axe x.
  • x_max Optional[float]: Valeur maximale de l’axe x.
  • smoothing_type (Literal[‘exponentialTimeWeighted’, ‘exponential’, ‘gaussian’, ‘average’, ‘none’]): Type de lissage appliqué à tous les panneaux.
  • smoothing_weight (int): Poids du lissage appliqué à tous les panneaux.

class Workspace

Représente un Workspace W&B, y compris les sections, les paramètres et la configuration des ensembles de runs. Attributs :
  • entity (str): L’entité dans laquelle ce Workspace sera enregistré (généralement le nom d’un utilisateur ou d’une équipe).
  • project (str): Le projet dans lequel ce Workspace sera enregistré.
  • name: Le nom du Workspace.
  • sections (LList[Section]): Une liste ordonnée des sections du Workspace. La première section se trouve en haut du Workspace.
  • settings (WorkspaceSettings): Les paramètres du Workspace, généralement visibles en haut du Workspace dans l’UI.
  • runset_settings (RunsetSettings): Les paramètres du runset (la barre de gauche contenant les runs) dans un Workspace.
  • auto_generate_panels (bool): Indique s’il faut générer automatiquement des panneaux pour toutes les clés enregistrées dans ce projet. Recommandé si vous souhaitez que toutes les données disponibles soient visualisées par défaut. Ce paramètre ne peut être défini qu’au moment de la création du Workspace et ne peut plus être modifié ensuite.

propriété auto_generate_panels


propriété url

L’URL du Workspace dans l’application W&B.

méthode de classe from_url

from_url(url: str)
Obtient un workspace à partir d’une URL.

méthode save

save()
Enregistrez le Workspace actuel dans W&B. Retourne :
  • Workspace: Le Workspace mis à jour avec le nom interne et l’ID enregistrés.

méthode save_as_new_view

save_as_new_view()
Enregistrez le Workspace actuel en tant que nouvelle vue dans W&B. Retourne :
  • Workspace: Le Workspace mis à jour, avec le nom interne et l’ID enregistrés.

class WorkspaceSettings

Paramètres du Workspace, généralement visibles en haut du Workspace dans l’UI. Cet objet inclut des paramètres pour l’axe x, le lissage, les valeurs aberrantes, les panneaux, les infobulles, les runs et la barre de requête des panneaux. Les paramètres appliqués ici peuvent être surchargés par des paramètres de Section et de Panel plus spécifiques, selon cet ordre de priorité : Workspace < Section < Panel Attributs :
  • x_axis (str): Paramètre du nom de la métrique de l’axe x.
  • x_min (Optional[float]): Valeur minimale pour l’axe x.
  • x_max (Optional[float]): Valeur maximale pour l’axe x.
  • smoothing_type (Literal[‘exponentialTimeWeighted’, ‘exponential’, ‘gaussian’, ‘average’, ‘none’]): Type de lissage appliqué à tous les panneaux.
  • smoothing_weight (int): Poids du lissage appliqué à tous les panneaux.
  • ignore_outliers (bool): Ignore les valeurs aberrantes dans tous les panneaux.
  • sort_panels_alphabetically (bool): Trie les panneaux de toutes les sections par ordre alphabétique.
  • group_by_prefix (Literal[“first”, “last”]): Regroupe les panneaux par premier ou dernier préfixe (first ou last). La valeur par défaut est last.
  • remove_legends_from_panels (bool): Supprime les légendes de tous les panneaux.
  • tooltip_number_of_runs (Literal[“default”, “all”, “none”]): Le nombre de runs à afficher dans l’infobulle.
  • tooltip_color_run_names (bool): Indique s’il faut colorer les noms des runs dans l’infobulle pour correspondre au runset (True) ou non (False). La valeur par défaut est True.
  • max_runs (int): Le nombre maximal de runs à afficher par panneau (il s’agira des 10 premiers runs du runset).
  • point_visualization_method (Literal[“line”, “point”, “line_point”]): La méthode de visualisation des points.
  • panel_search_query (str): La requête de la barre de recherche des panneaux (peut être une expression regex).
  • auto_expand_panel_search_results (bool): Indique s’il faut développer automatiquement les résultats de recherche des panneaux.