メインコンテンツへスキップ
W&B Report and Workspace API はパブリックプレビューです。
W&B Workspace API をプログラムから操作するための Python ライブラリ。
# インポート方法
import wandb_workspaces.workspaces as ws
import wandb_workspaces.reports.v2 as wr

# Workspaceの作成例
ws.Workspace(
     name="Example W&B Workspace",
     entity="entity", # Workspaceを所有するentity
     project="project", # 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

runset 内の run の設定 (左側のバー) 。 属性:
  • color (str): UI 上の run の色。16 進数 (#ff0000) 、CSS カラー (red) 、または rgb (rgb(255, 0, 0)) を指定できます。
  • disabled (bool): run が無効化されているかどうか (UI では目が閉じた状態) 。デフォルトは False です。

class RunsetSettings

Workspace 内の runset (run を表示する左側のバー) の設定です。 属性:
  • query (str): runset をフィルターするためのクエリです (正規表現を使用できます。次のパラメータを参照) 。
  • regex_query (bool): 上記のクエリを正規表現として扱うかどうかを制御します。デフォルトは False です。
  • filters (Union[str, LList[expr.FilterExpr]]): runset に適用するフィルターのリスト、または文字列表現です。
    • リストの場合: フィルターは AND 条件で結合されます。フィルターの作成方法について詳しくは、FilterExpr を参照してください。
    • 文字列の場合: Python 風の式を使用します。例: “Config(‘lr’) = 0.001 and State = ‘finished’”
  • Supports operators: =, ==, !=, <, >, <=, >=, in, not in
  • groupby (LList[expr.MetricType]): runset でグループ化するメトリクスのリストです。MetricSummaryConfigTags、または KeysInfo に設定します。
  • order (LList[expr.Ordering]): runset に適用するメトリクスと並び順のリストです。
  • run_settings (Dict[str, RunSettings]): run 設定の辞書です。キーは run の ID、値は RunSettings オブジェクトです。
  • pinned_columns (LList[str]): 固定する列名のリストです。
  • Column names use format: “run:displayName”、“summary:metric”、“config:param”。
  • run: displayName は、存在しない場合は自動的に追加されます。
  • Example: [“summary:accuracy”, “summary:loss”]
例:
    # 文字列フィルターを使用する場合(新方式)
    RunsetSettings(
        filters="Config('learning_rate') = 0.001 and State = 'finished'",
        pinned_columns=["summary:accuracy", "summary:loss"],
    )

    # FilterExprリストを使用する場合(元の方式)
    RunsetSettings(
        filters=[expr.Config("learning_rate") == 0.001],
        pinned_columns=["summary:accuracy", "summary:loss"],
    )

method convert_filterexpr_list_to_string

convert_filterexpr_list_to_string()
FilterExpr のリストを文字列式 (統一内部形式) に変換します。

method validate_and_setup_columns

validate_and_setup_columns()
run:displayName が存在し、内部のカラムフィールドが設定されていることを確認します。

class Section

Workspace 内のセクションを表します。 属性:
  • name (str): セクションの名前/タイトル。
  • panels (LList[PanelTypes]): セクション内のパネルの順序付きリスト。デフォルトでは、先頭が左上、末尾が右下です。
  • is_open (bool): セクションが開いているか閉じているかを示します。デフォルトでは閉じています。
  • pinned (bool): セクションがピン留めされているかどうかを示します。ピン留めされたセクションは Workspace の上部に表示されます。デフォルトは False です。
  • layout_settings (SectionLayoutSettings): セクション内のパネル Layout の設定。
  • panel_settings: Section に対する WorkspaceSettings と同様に、セクション内のすべてのパネルに適用されるパネルレベルの設定。

class SectionLayoutSettings

セクションのパネルに対する Layout 設定です。通常、W&B App Workspace UI のセクション右上に表示されます。 属性:
  • columns (int): Layout の列数です。デフォルトは 3 です。
  • rows (int): Layout の行数です。デフォルトは 2 です。

class SectionPanelSettings

セクション用の Panel settings。セクションに対する WorkspaceSettings と同様のものです。 ここで適用した Settings は、次の優先順位で、より細かい パネル settings によって上書きされる場合があります: Section < Panel。 属性:
  • x_axis (str): x 軸 のメトリクス名の設定です。デフォルトでは “Step” に設定されます。
  • x_min Optional[float]: x 軸 の最小値。
  • x_max Optional[float]: x 軸 の最大値。
  • smoothing_type (Literal[‘exponentialTimeWeighted’, ‘exponential’, ‘gaussian’, ‘average’, ‘none’]): すべてのパネルに適用されるスムージングのタイプ。
  • smoothing_weight (int): すべてのパネルに適用されるスムージングの重み。

class Workspace

セクション、設定、および run set の設定を含む W&B Workspace を表します。 属性:
  • entity (str): この Workspace の保存先となる entity (通常はユーザー名またはチーム名) 。
  • project (str): この Workspace の保存先となるプロジェクト。
  • name: Workspace の名前。
  • sections (LList[Section]): Workspace 内のセクションの順序付きリスト。最初のセクションは Workspace の最上部に表示されます。
  • settings (WorkspaceSettings): Workspace の設定。通常は UI 上で Workspace の上部に表示されます。
  • runset_settings (RunsetSettings): Workspace 内の runset (runs を含む左側のバー) の設定。
  • auto_generate_panels (bool): このプロジェクトでログされたすべてのキーについて、パネル を自動生成するかどうか。利用可能なすべてのデータをデフォルトで可視化したい場合に推奨されます。これは Workspace の作成時にのみ設定でき、その後は変更できません。

プロパティ auto_generate_panels


プロパティ url

W&B App 内のWorkspaceのURL。

クラスメソッド from_url

from_url(url: str)
URLからWorkspaceを取得します。

method save

save()
現在のWorkspaceをW&Bに保存します。 戻り値:
  • Workspace: 保存された内部名とIDが設定された、更新後のWorkspace。

method save_as_new_view

save_as_new_view()
現在のWorkspaceを、新しいviewとしてW&Bに保存します。 戻り値:
  • Workspace: 保存された内部名とIDを含む、更新後のWorkspace。

class WorkspaceSettings

Workspace の設定です。通常は、UI 上の Workspace の上部に表示されます。 このオブジェクトには、x 軸、スムージング、外れ値、パネル、ツールチップ、run、およびパネル検索バーの設定が含まれます。 ここで適用した設定は、より細かい Section および パネル の設定によって、次の優先順位で上書きされます: Workspace < Section < Panel 属性:
  • x_axis (str): x 軸のメトリクス名の設定。
  • x_min (Optional[float]): x 軸の最小値。
  • x_max (Optional[float]): x 軸の最大値。
  • smoothing_type (Literal[‘exponentialTimeWeighted’, ‘exponential’, ‘gaussian’, ‘average’, ‘none’]): すべてのパネルに適用されるスムージングのタイプ。
  • smoothing_weight (int): すべてのパネルに適用されるスムージングの重み。
  • ignore_outliers (bool): すべてのパネルで外れ値を無視するかどうか。
  • sort_panels_alphabetically (bool): すべてのセクションでパネルをアルファベット順に並べ替えます。
  • group_by_prefix (Literal[“first”, “last”]): 最初または最後のプレフィックスでパネルをグループ化します (first または last) 。デフォルトは last です。
  • remove_legends_from_panels (bool): すべてのパネルから凡例を削除します。
  • tooltip_number_of_runs (Literal[“default”, “all”, “none”]): ツールチップに表示する run の数。
  • tooltip_color_run_names (bool): ツールチップ内の run 名を runset に合わせて色付けするかどうか (True の場合は色付けし、False の場合は色付けしません) 。デフォルトは True です。
  • max_runs (int): パネルごとに表示する run の最大数 (runset 内の先頭 10 件の run が表示されます) 。
  • point_visualization_method (Literal[“line”, “point”, “line_point”]): 点の可視化 method。
  • panel_search_query (str): パネル検索バーのクエリ (正規表現を使用できます) 。
  • auto_expand_panel_search_results (bool): パネル検索結果を自動的に展開するかどうか。