W&B にデータをログする
カスタム チャートで何かを可視化するには、まず表示したいデータを run でログしておく必要があります。ハイパーパラメーターなど、トレーニング開始時に設定する単一のポイントには wandb.Run.config を使用します。時間の経過とともに変化する複数のポイントには wandb.Run.log() を使用し、カスタムの 2D 配列はwandb.Table() でログします。データポイントは、ログするキーごとに最大 10,000 個までにすることをお勧めします。
クエリを作成する
クエリは、カスタム チャートに読み込むログ済みデータを指定するものです。可視化するデータをログしたら、project ページに移動し、+ ボタンをクリックして新しいパネルを追加してから、Custom Chart を選択します。カスタム チャートのデモ ワークスペースで実際の操作を確認しながら進めることもできます。

クエリを追加する
summaryをクリックしてhistoryTableを選択し、run の履歴からデータを取得する新しいクエリを設定します。wandb.Table()をログしたときのキーを入力します。前のコードスニペットではcustom_data_tableです。サンプルノートブックでは、キーはpr_curveとroc_curveです。summaryTable、historyTable、tableKeyの詳細については、GraphQL クエリを作成するを参照してください。
Vega フィールドを設定する
クエリを設定したら、Vega フィールドのドロップダウンメニューを使って、ログした列をチャートの視覚的エンコーディングにマッピングできます。
- x-axis: runSets_historyTable_r (再現率)
- y-axis: runSets_historyTable_p (適合率)
- color: runSets_historyTable_c (クラスラベル)
チャートをカスタマイズする
デフォルトの可視化は出発点として便利ですが、Vega spec を編集すれば、チャート タイプの変更、タイトルの追加、外観の調整を行えます。散布図から折れ線グラフに切り替えるには、Edit をクリックして、この組み込みチャートの Vega spec を変更します。カスタム チャートのデモ ワークスペースで実際に操作しながら進めることもできます。
- プロット、凡例、X 軸、Y 軸にタイトルを追加します (各フィールドに “title” を設定します)。
- “mark” の値を “point” から “line” に変更します。
- 使用していない “size” フィールドを削除します。


おまけ: 複合ヒストグラム
このセクションでは、より高度なカスタム チャートの例として、2 つの分布を同じビューに重ねて表示する複合ヒストグラムの作成方法を紹介します。Vega spec の編集に慣れると、どのようなことができるようになるかを示す例です。 ヒストグラムを使うと数値の分布を可視化でき、大規模なデータセットの理解に役立ちます。複合ヒストグラムは同じビン上に複数の分布を表示するため、異なるモデル間、またはモデル内の異なるクラス間で 2 つ以上のメトリクスを比較できます。たとえば、運転シーン内のオブジェクトを検出するセマンティック セグメンテーション モデルであれば、精度を最適化した場合と Intersection over Union (IoU) を最適化した場合の効果を比較できます。また、異なるモデルが車 (データ内で大きく、頻繁に出現する領域) と交通標識 (はるかに小さく、出現頻度の低い領域) をそれぞれどの程度検出できるかを確認することもできます。デモ用 Colab では、生物の 10 クラスのうち 2 クラスについて信頼度スコアを比較できます。
- Workspace または report に Custom Chart 可視化を追加して、新しいカスタム チャート パネルを作成します。右上の Edit をクリックし、任意の組み込みパネル タイプをベースに Vega spec を変更します。
- 組み込みの Vega spec を Vega による複合ヒストグラムのスターター コード に置き換えます。メイン タイトル、軸タイトル、入力ドメインなどの詳細は、この Vega spec 内で Vega 構文を使用して 直接変更できます。たとえば、色を変更したり、3 つ目のヒストグラムを追加したりできます。
- 右側のパネルでクエリを変更し、wandb のログから目的のデータを読み込みます。フィールド
summaryTableを追加し、対応するtableKeyをclass_scoresに設定して、run でログしたwandb.Tableを取得します。これで、class_scoresとしてログしたwandb.Tableの列をドロップダウン メニューから選択し、2 つのヒストグラム ビン セット (red_binsとblue_bins) に割り当てられるようになります。たとえば、赤のビンにはanimalクラスの予測スコアを、青のビンにはplantを選択できます。 - プレビューに表示されるプロットが思いどおりになるまで、Vega spec とクエリを繰り返し変更できます。完了したら、上部の Save as をクリックし、カスタム プロットに名前を付けて再利用できるようにします。最後に Apply from panel library をクリックすると、プロットが完成します。

