- データやモデル性能の変化を分析するために、artifact バージョンとしてログされた 2 つの W&B Tables を比較する
- データ内のより大きなパターンを把握する
- 表にログした値が run 全体を通してどのように変化するかを確認する
W&B Tables には次のような特性があります。
- artifact コンテキストでは stateless: artifact バージョンとともにログされた表は、ブラウザーウィンドウを閉じるとデフォルトの状態にリセットされます
- Workspace または レポート コンテキストでは stateful: 単一 run の Workspace、複数 run のプロジェクト Workspace、または レポート で表に加えた変更は保持されます。
表の比較オプション

- W&B App で対象のプロジェクトに移動します。
- プロジェクトのサイドバーで Artifacts アイコンを選択します。
- artifact バージョンを選択します。

- サイドバーで比較したい 2 つ目の artifact バージョンにカーソルを合わせ、Compare が表示されたらクリックします。たとえば、以下の画像では、「v4」というラベルの付いたバージョンを選択し、同じモデルが 5 エポックのトレーニング後に行った MNIST の予測と比較しています。

マージ ビュー

- 結合キーを選択する: 左上のドロップダウンを使用して、2 つの表の結合キーとして使用する列を設定します。通常、これは各行の一意の ID です。たとえば、データセット内の特定の例のファイル名や、生成したサンプルに付けられた連番のインデックスなどです。なお、現在は 任意の 列を選択できますが、その場合は表が判読しづらくなったり、クエリが遅くなったりすることがあります。
- 結合ではなく連結する: このドロップダウンで “concatenating all tables” を選択すると、列同士を結合する代わりに、両方の表の すべての行をまとめて 1 つのより大きな Table にできます
- 各 Table を明示的に参照する: フィルター式で 0、1、* を使用して、一方または両方の表インスタンス内の列を明示的に指定します
- 詳細な数値の差分をヒストグラムで可視化する: 任意のセルの値をひと目で比較できます
並列ビュー

- 表をひと目で比較する: 任意の操作 (並べ替え、フィルター、グループ化) を両方の表に連動して適用し、変更や差分をすばやく見つけられます。たとえば、誤った予測を予測ごとにグループ化して表示したり、全体で最も難しいハードネガティブや、正解ラベルごとの信頼度スコアの分布を確認したりできます。
- 2 つの表を個別に調べる: スクロールしながら、注目したい側や行にそれぞれ集中できます
Artifacts を比較する
時間経過に沿って表を比較する

モデルバリアント間で表を比較する
baseline と新しいモデルバリアント 2x_layers_2x_lr の予測を比較します。このバリアントでは、1 つ目の畳み込み層が 32 から 64 に、2 つ目が 128 から 256 に、学習率が 0.001 から 0.002 にそれぞれ増えています。このライブ例では、並列ビューを使用して、1 エポックのトレーニング後 (左タブ) と 5 エポックのトレーニング後 (右タブ) の不正解の予測に絞り込んでください。
- 1 トレーニングエポック
- 5 トレーニングエポック

run 全体を通じて値がどのように変化するかを可視化する
_step です。これは、W&B が自動的にログする特別なキーです。_step キーは整数で、コード内で wandb.Run.log() を call するたびに 1 ずつ増加します。
W&B Table に step スライダーを追加するには、次の手順に従います。
- プロジェクトのWorkspaceにアクセスします。
- Workspaceの画面右上にある Add panel をクリックします。
- Query panel を選択します。
- クエリ式エディタ内で
runsを選択し、キーボードの Enter を押します。 - 歯車アイコンをクリックして、パネルの設定を表示します。
- Render As セレクタを Stepper に設定します。
- Stepper Key を
_step、または step スライダーの単位として使用するキーに設定します。

カスタム step キー
epoch や global_step のように、runs で step キーとしてログする任意の数値メトリクスを使用できます。カスタム step キーを使用すると、W&B はそのキーの各値を run 内の step (_step) に対応付けます。
この表は、カスタム step キー epoch が、serene-sponge、lively-frog、vague-cloud という 3 つの異なる runs において _step 値にどのように対応するかを示しています。各行は、run 内の特定の _step での wandb.Run.log() の call を表します。各列には、その step でログされた対応する epoch の値があれば表示されます。スペースを節約するため、一部の _step 値は省略しています。
wandb.Run.log() が最初に call された時点では、どの run でも epoch 値はログされていなかったため、この表では epoch は空欄になっています。
_step | vague-cloud (epoch) | lively-frog(epoch) | serene-sponge (epoch) |
|---|---|---|---|
| 1 | |||
| 2 | 1 | ||
| 4 | 1 | 2 | |
| 5 | 1 | ||
| 6 | 3 | ||
| 8 | 2 | 4 | |
| 10 | 5 | ||
| 12 | 3 | 6 | |
| 14 | 7 | ||
| 15 | 2 | ||
| 16 | 4 | 8 | |
| 18 | 9 | ||
| 20 | 3 | 5 | 10 |
epoch = 1 に設定されている場合、次のようになります。
vague-cloudはepoch = 1を見つけ、_step = 5でログされた値を返しますlively-frogはepoch = 1を見つけ、_step = 4でログされた値を返しますserene-spongeはepoch = 1を見つけ、_step = 2でログされた値を返します
epoch = 9 に設定されている場合:
vague-cloudもepoch = 9をログしていないため、W&B はそれ以前で最新の値であるepoch = 3を使用し、_step = 20でログされた値を返しますlively-frogはepoch = 9をログしていませんが、それ以前で最新の値はepoch = 5なので、_step = 20でログされた値を返しますserene-spongeはepoch = 9を見つけ、_step = 18でログされた値を返します
表示を保存する
artifact コンテキストで操作した Tables はステートレスのままです。
- Workspace の可視化パネルの画面右上にある action () メニューを選択します。
- Share panel または Add to report を選択します。

