W&B Report and Workspace API はパブリックプレビュー段階です。
カスタマイズした保存済みワークスペースビューを作成する一連のチュートリアルについては、Programmatic workspaces notebook を実行してください。
プログラムからレポートを編集するには、W&B Python SDK に加えて W&B Report and Workspace API (
wandb-workspaces) がインストールされている必要があります。プロットを追加する
プロットを使用すると、report 内で run データを可視化できます。各パネルグリッドには、run set とパネルの集合があります。パネルグリッド内の run set は、グリッド内のパネルに表示されるデータを制御します。別の run の集合からデータを取得するチャートを追加する場合は、新しいパネルグリッドを作成してください。- App UI
- Report and Workspace API
report 内でスラッシュ (
/) を入力すると、ドロップダウンメニューが表示されます。Add panelを選択してパネルを追加します。折れ線グラフ、散布図、平行座標チャートなど、W&B がサポートする任意のパネルを追加できます。
run set を追加する
App UI または W&B SDK を使用して、project から run set をインタラクティブに追加します。- App UI
- Report and Workspace API
レポートにスラッシュ (
/) を入力すると、ドロップダウンメニューが表示されます。ドロップダウンから パネルグリッド を選択します。W&B は、レポートの作成元となった project から run set を自動的にインポートします。パネルをレポートにインポートすると、レポートは project から run 名を継承します。レポートでは、必要に応じて run のリネーム を行い、読者に追加のコンテキストを提供できます。リネームは個々のパネルにのみ適用されます。同じレポート内でパネルをクローンすると、クローンされたパネルにも新しい名前が反映されます。- レポートで鉛筆アイコンをクリックし、レポートエディターを開きます。
-
run set で、リネームする run を見つけます。run 名にホバーし、action () メニューをクリックします。次のいずれかを選択し、フォームを送信します。
- Rename run for project: プロジェクト全体で run をリネームします。新しいランダム名を生成するには、フィールドを空白のままにします。
- Rename run for panel grid: レポート内でのみ run をリネームし、他のコンテキストでは既存の名前を保持します。このオプションでは新しいランダム名を生成できません。
- Publish report をクリックします。
run set を凍結する
report は project から最新のデータを表示するために run set を自動的に更新します。report 内の run set を特定の時点で凍結すると、その後の run が report の表示内容を変更しないようにできます。 report を表示しているときに run set を凍結するには、そのパネルグリッドの フィルター ボタンの近くにある雪の結晶アイコンをクリックします。
run set をプログラムからグループ化する
Workspace and Reports API を使用すると、run set 内の run をプログラムからグループ化できます。グループ化すると、関連する run がパネル内でまとめて表示され、設定や結果を比較しやすくなります。 run set 内の run は、設定値、run のメタデータ、またはサマリー指標でグループ化できます。次の表に、利用可能なグループ化方法と、それぞれの方法で使用できるキーを示します。設定値で run をグループ化する
似た設定の run どうしを比較するには、設定値で run をグループ化します。設定値とは、run の設定(wandb.init(config=)) で指定するパラメーターです。設定値でグループ化するには、config.[KEY] という構文を使用します。[KEY] には、グループ化に使用する設定値の名前を指定します。
たとえば次のコードスニペットでは、まず group の設定値を指定して run を初期化し、続いてその group の設定値に基づいてレポート内の run をグループ化しています。[ENTITY] と [PROJECT] は、ご自身の W&B の entity 名とプロジェクト名に置き換えてください。
config.group の値によって run をグループ化できます。
run のメタデータで run をグループ化する
メタデータで run をグループ化すると、ログに記録された値ではなく、run 固有のプロパティに基づいて整理できます。run の名前 (Name) 、state (State) 、ジョブタイプ (JobType) でグループ化できます。
前の例の続きとして、次のコードスニペットを使うと、run を名前でグループ化できます。
run の名前は、
wandb.init(name=) パラメーターで指定した名前です。名前を指定しない場合は、W&B が run にランダムな名前を割り当てます。run の名前は、W&B App の run の Overview ページで確認できるほか、プログラムから Api.runs().run.name で取得することもできます。サマリー指標で run をグループ化する
以下のサンプルは、サマリー指標で run をグループ化する方法を示しています。サマリー指標とは、wandb.Run.log() で run にログした値のことです。run をログすると、W&B App の run の Overview ページにある Summary セクションで、サマリー指標の名前を確認できます。
サマリー指標で run をグループ化する構文は summary.[KEY] です。[KEY] には、グループ化に使用するサマリー指標の名前を指定します。
たとえば、acc というサマリー指標をログしたとします。[ENTITY] と [PROJECT] は、ご自身の W&B の entity 名とプロジェクト名に置き換えてください。
summary.acc のサマリー指標で run をグループ化できます。
run set をプログラムでフィルタリングする
Workspace and Reports API を使用すると、run set をプログラムでフィルタリングし、レポートに追加できます。フィルタリングでは、設定値、メトリクス、タグ、run のプロパティに基づいて、表示したい特定の run だけに run set を絞り込みます。 フィルタ式の基本的な構文は次のとおりです。[KEY] はフィルターの名前、operation は比較演算子 (例: >、<、==、in、not in、or、and) 、[VALUE] は比較対象の値です。Filter には適用したいフィルターの種類が入ります。利用可能なフィルターとその説明は次のとおりです。
フィルターを定義したら、レポートを作成し、フィルター済みの run set を
wr.PanelGrid(runsets=) に渡します。レポートにさまざまな要素をプログラムから追加する方法の詳細については、このページ内の Report and Workspace API タブを参照してください。
次のサンプルは、レポート内で run set をフィルターする方法を示しています。角かっこで囲まれた値 (例: [ENTITY] や [PROJECT]) は、ご自身の値に置き換えてください。
Config フィルター
1 つ以上の config の値で run セットをフィルタリングします。config の値とは、run の設定 (wandb.init(config=)) で指定するパラメーターです。
たとえば次のコードスニペットでは、まず learning_rate と batch_size の config の値を指定して run を初期化し、続いて learning_rate の config の値に基づいてレポート内の run をフィルタリングします。
0.01 を超える run をプログラムでフィルタリングできます。
and オペレーターを使用して、複数のconfig の値でフィルタリングすることもできます。
メトリクスフィルター
run のタグ (tags) 、run の状態 (state) 、run 名 (displayName) 、ジョブタイプ (jobType) に基づいて run セットをフィルターします。
Metric フィルターは、他のフィルターとは異なる構文を使用します。値はリストとして渡す必要があります。run1、run2、run3 の実行を抽出するには、次のコードを使用します。
run の名前は、W&B App の run の Overview ページで確認できるほか、
Api.runs().run.name を使ってプログラムから取得することもできます。finished、crashed、running) で run セットをフィルタリングする方法を示します。
SummaryMetric フィルター
サマリー指標で run set をフィルターすると、正解率や損失値など、特定の結果のしきい値を満たす run に絞り込めます。サマリー指標とは、wandb.Run.log() で run にログした値です。run をログした後は、W&B App で run の Overview ページにある Summary セクションから、サマリー指標の名前を確認できます。
タグフィルター
タグで run セットをフィルタリングすると、特定のタグを付けた run のみを表示できます。タグとは、run に追加する値のことで、プログラムから、または W&B App を使って追加します。コードブロックを追加する
結果とあわせて設定、サンプル、スニペットを共有するために、コードブロックを追加できます。App UI から対話型で追加することも、W&B SDK を使ってプログラムから追加することもできます。- App UI
- Report and Workspace API
レポート内でスラッシュ (
/) を入力すると、ドロップダウンメニューが表示されます。ドロップダウンから Code を選択します。コードブロック内のプログラミング言語名を選択すると、ドロップダウンが展開されます。ドロップダウンから使用するプログラミング言語の構文を選択します。JavaScript、Python、CSS、JSON、HTML、Markdown、YAML から選択できます。Markdown を追加する
レポート内のナラティブテキスト、見出し、インライン強調をフォーマットするために Markdown を追加します。App UI でインタラクティブに、または W&B SDK を使用してプログラム的に Markdown を追加できます。- App UI
- Report and Workspace API
レポートにスラッシュ (
/) を入力すると、ドロップダウンメニューが表示されます。ドロップダウンから Markdown を選択します。HTML 要素を追加する
見出しやリストなどの HTML 要素を追加して、レポートを構造化できます。App UI からインタラクティブに追加することも、W&B SDK を使ってプログラムから追加することもできます。wandb.Image で画像をログすると、W&B は元のファイル名ではなく、media/images/[key]_[step]_[hash].png のようにコンテンツハッシュを含む生成された名前でファイルを保存します。そのため、元のファイル名を参照する <img> タグや Markdown 画像は解決されません。ログした画像をレポートに埋め込むには、まず画像をログし、生成されたファイルパスを画像の src の値として指定してください。- App UI
- Report and Workspace API
レポート内でスラッシュ (
/) を入力すると、ドロップダウンメニューが表示されます。ドロップダウンからテキストブロックのタイプを選択します。たとえば、H2 見出しブロックを作成するには、Heading 2 を選択します。リッチメディアリンクの埋め込み
ツイート、動画、オーディオなどのリッチメディアを埋め込んで、レポートに外部コンテキストを追加できます。App UI または W&B SDK を使用してリッチメディアを埋め込めます。- App UI
- Report and Workspace API
パネルグリッドを複製する
パネルグリッドを複製すると、そのレイアウトを同じレポート内や別のレポートで再利用できます。パネルグリッドを選択してコピー&ペーストすれば、同じレポート内で複製したり、別のレポートに貼り付けたりできます。 右上隅のドラッグハンドルを選択すると、パネルグリッドのセクション全体を選択できます。クリックしたままドラッグすると、パネルグリッド、テキスト、見出しなど、レポート内の任意の範囲をハイライトして選択できます。
パネルグリッドの削除
レポート内でそのレイアウトやコンテンツが不要になったら、パネルグリッドを削除します。パネルグリッドを選択し、キーボードのdelete キーを押すと削除できます。

ヘッダーを折りたたんでレポートを整理する
レポート内のヘッダーを折りたたむと、テキストブロック内のコンテンツを非表示にできます。レポートの読み込み時には、展開されているヘッダーのコンテンツのみが表示されます。ヘッダーを折りたたむことで、レポートのコンテンツを整理でき、必要以上のデータの読み込みを防げます。次のアニメーションは、その手順を示しています。
複数の次元にわたる関係を可視化する
3 つ以上の変数間の関係を 1 つのチャートで明らかにしたい場合、標準的な 2D プロットでは限界があります。2D プロットで表示できる変数よりも多くの変数を比較するには、色勾配を追加の次元として使用できます。変数の 1 つを色勾配で表現することで、パターンをより解釈しやすくなります。- penalty スコアや学習率など、色勾配で表現する変数を選択します。これにより、penalty (色) が reward や side effect (Y 軸) とどのように相互作用するかを、トレーニング時間 (X 軸) にわたってより明確に理解できます。
- 主要な傾向を強調表示します。特定の run のグループにホバーして、視覚化内でそれらを強調表示します。




