Weave
はじめに
Weaveパネルは、ユーザーがW&Bに直接データを問い合わせ、結果を可視化し、さらにインタラクティブに分析できるようにします。Weaveパネルには、以下の画像に示すように、主に4つのコンポーネントがあります。
- Weave式: W&Bのバックエンドに対して実行するクエリを指定します
- Weaveパネルセレクター: クエリの結果を表示するために使用されるパネルを指定します。
- Weave構成: ユーザーがWeave式および/またはWeaveパネルのパラメーターを設定できるようにします
- Weave結果パネル: Weaveパネルの主要なエリアで、指定されたWeaveパネルと構成を使用して、Weave式クエリの結果を表示します。
Weave、テーブル、プロットをすぐに試してみたい場合は、こちらのインタラクティブレポートをご覧ください。
コンポーネント
Weave式
Weave式を使用すると、ユーザーはW&Bに格納されたデータ(ラン、アーティファクト、モデル、テーブルなど)を問い合わせることができます!最も一般的なWeave式は、テーブルをログに記録することで生成されます。wandb.log({"predictions":<MY_TABLE>})
、そして次のようになります。
これを分解してみましょう:
runs
は、Weaveパネルがワークスペース内にある場合、Weaveパネル式に自動的に挿入される変数です。その「値」は、その特定のワークスペースで表示されるランのリストです。こちらのリンクでrun内で利用できる様々な属性について読む。summary
は、RunのSummaryオブジェクトを返すopです。注意: opsは「マップ」されており、このopはリスト内の各Runに適用され、Summaryオブジェクトのリストが生成されます。["predictions"]
は、Pick op(角括弧で示される)で、パラメーターは"predictions"です。Summaryオブジェクトは辞書やマップのように機能するため、この操作では、各Summaryオブジェクトから"predictions"フィールドが「選択」されます。上述のように、「predictions」フィールドはTableであり、このクエリによって上記のTableが生成されます。
Weave式は非常に強力であり、例えば、次の式では:
- 自分のランを
name = "easy-bird-1"
のものだけにフィルタリング - Summaryオブジェクトを取得
- "Predictions"の値を選択
- テーブルをマージ
- テーブルをクエリ
- 結果をプロット
ここで、マージ、クエリ、およびプロット構成はWeave構成(下記で説明)で指定されています。Ops、Types、およびこのクエリ言語のその他の特徴に関する完全な説明については、Weave Expression Docsを参照してください。
Weaveパネルセレクタ
Weave式を構築した後、Weaveパネルは自動的に結果を表示するために使用するパネルを選択します。結果のデータタイプに対して最も一般的なパネルが自動的に選択されます。ただし、パネルを変更する場合は、ドロップダウンをクリックして別のパネルを選択します。
いくつかの特別なケースに注意してください:
- 現在テーブルを表示している場合、通常のオプションに加えて、「Plot table query」オプションが利用可能になります。このオプションを選択すると、現在のテーブルクエリの結果をプロットすることを意味します。つまり、カスタムフィールドの追加、グループ化、ソート、フィルタリングなど、テーブルを操作している場合は、
Plot table query
を選択して、現在の結果をプロットの入力として使用できます。 Merge Tables: <Panel>
は、入力データタイプがテーブルのリストである特別なケースです。このような場合、「Merge Tables」のパネル部分では、すべての行を連結するか、特定の列でテーブルを結合することができます。この設定は、Weave構成(下記で説明)で設定され、次のスクリーンショットに示されています。List of: <Panel>
は、入力データタイプがリストである特別なケースであり、ページ化されたパネル表示を表示したい場合です。次の例では、List of: Plot
が表示され、それぞれのプロットが異なるランから来ています。
Weave設定
パネルの左上隅にある歯車アイコンをクリックして、Weave設定を展開します。これにより、ユーザーは特定の式オペレーションのパラメーターと結果パネルを構成することができます。例えば:
上記の例では、展開されたWeave設定に3つのセクションが表示されます。
Merge Tables
: 式内のmerge
オペレーションには、追加の設定プロパティ(この場合はConcatenateまたはJoin)が存在し、ここで公開されます。Table Query
: 式内のtable
オペレーションは結果に適用されるテーブルクエリを表し、ユーザーはEdit table query
ボタンをクリックすることでテーブルクエリをインタラクティブに編集できます。Plot
: 最後に、式オペレーションが設定された後、Result Panel自体が構成可能になります。この場合、Plot
パネルには、次元とその他のプロット特性を設定するための構成があります。ここでは、x軸にカテゴリカルな正解値、y軸にモデルの"1"クラスの予測スコアを持つボックスプロットが設定されています。期待通り、"1"のスコア分布は他のクラスよりも著しく高いです。
Weave結果パネル
最後に、Weave結果パネルは、選択されたWeaveパネルを使用して、Weave式の結果をインタラクティブな形式で表示します。ここでは、同じデータのテーブルとプロットが表示されています。
すべての列を一度に同じサイズにリサイズするには、shift
+ マウスドラッグを使用してリサイズできます。
Weaveパネルの作成
ユーザーがログにテーブルを記録する場合やカスタムチャートをログに記録する場合には、Weaveパネルが自動的に作成されます。このような場合、Weave式をrun.summary["<TABLE_NAME>"]
に自動的に設定し、テーブルパネルをレンダリングします。さらに、「パネルの追加」ボタンからWeave
パネルを選択して、ワークスペースに直接Weaveパネルを追加することができます。