メインコンテンツへスキップ
W&B Weave、つまり Generative AI アプリケーション構築のための W&B のツールスイートをお探しですか?Weave のドキュメントはこちらをご覧ください: wandb.me/weave
Query パネルを使用して、データをクエリしてインタラクティブに可視化します。
Query パネル

クエリパネルを作成する

クエリをワークスペースまたはレポート内に追加します。
  1. プロジェクトのワークスペースに移動します。
  2. 画面右上の Add panel をクリックします。
  3. ドロップダウンメニューから Query panel を選択します。

クエリの構成要素

クエリ式を使用して、W&B に保存されている Runs、アーティファクト、モデル、テーブルなどのデータをクエリできます。

例: テーブルをクエリする

W&B Table をクエリしたいとします。学習コード内で、"cifar10_sample_table" という名前のテーブルをログとして記録します:
import wandb
with wandb.init() as run:
  run.log({"cifar10_sample_table":<MY_TABLE>})
クエリパネルでは、テーブルに対して次のクエリを実行できます。
runs.summary["cifar10_sample_table"]
Table query expression
これを分解すると、次のようになります。
  • runs は、Query Panel が Workspace 内にある場合に、Query Panel Expressions に自動的に挿入される変数です。その「値」は、その Workspace で現在表示されている run のリストです。run で利用可能なさまざまな属性についてはこちらを参照してください。
  • summary は、run の Summary オブジェクトを返す op です。op はマッピングされるため、この op はリスト内の各 run に適用され、Summary オブジェクトのリストが得られます。
  • ["cifar10_sample_table"] は、predictions をパラメータに取る Pick op(角括弧で表されます)です。Summary オブジェクトは辞書またはマップのように振る舞うため、この操作は各 Summary オブジェクトから predictions フィールドを取り出します。
対話的にクエリを作成する方法については、Query Panel デモを参照してください。

設定

パネル左上の歯車アイコンをクリックして、クエリ設定を表示します。これにより、パネルの種類や結果パネルのパラメーターを設定できます。
パネル設定メニュー

結果パネル

最後に、クエリ結果パネルは、選択したクエリパネルとその設定に基づいてクエリ式の結果をレンダリングし、データをインタラクティブな形式で表示します。次の画像は、同じデータを表示した Table と Plot です。
Table result panel
Plot result panel

基本的な操作

クエリパネル内でよく使う基本的な操作は、次のとおりです。

並べ替え

列のオプションから並べ替えます:
列の並べ替えオプション

フィルター

クエリ内で直接フィルタ条件を指定するか、左上にあるフィルターボタン(2枚目の画像)を使用できます。
クエリのフィルター構文
フィルターボタン

Map

Map 操作はリストを走査し、データ内の各要素に関数を適用します。これはパネルクエリで直接実行することも、列オプションから新しい列を追加して実行することもできます。
Map operation query
Map column insertion

グループ化

クエリ、または列オプションからグループ化を行うことができます。
クエリによるグループ化
列オプションからのグループ化

Concat

concat 操作を使うと 2 つのテーブルを連結でき、パネル設定からは連結や結合を実行できます。

Join

クエリ内でテーブル同士を直接結合することもできます。次のクエリ式を考えてみましょう。
project("luis_team_test", "weave_example_queries").runs.summary["short_table_0"].table.rows.concat.join(\
project("luis_team_test", "weave_example_queries").runs.summary["short_table_1"].table.rows.concat,\
(row) => row["Label"],(row) => row["Label"], "Table1", "Table2",\
"false", "false")
テーブルの結合操作
左側のテーブルは次の内容から生成されています:
project("luis_team_test", "weave_example_queries").\
runs.summary["short_table_0"].table.rows.concat.join
右側のテーブルは次の内容から生成されています:
project("luis_team_test", "weave_example_queries").\
runs.summary["short_table_1"].table.rows.concat
ここで:
  • (row) => row["Label"] は各テーブルに対するセレクタで、どのカラムを基準に結合するかを指定します
  • "Table1""Table2" は結合時の各テーブルの名前です
  • truefalse は、左/右の内部結合・外部結合を指定するための設定値です

Runs オブジェクト

runs オブジェクトには、クエリパネルを使ってアクセスします。run オブジェクトは実験の記録を保持します。詳細は Accessing runs object を参照してください。ここでは概要として、runs オブジェクトで利用できる主要な要素を示します。
  • summary: run の結果を要約した情報を保持する辞書です。精度や損失のようなスカラー値や、大きなファイルを含めることができます。デフォルトでは、wandb.Run.log() はログされた時系列データの最終値を summary に設定します。summary の内容は直接設定することもできます。summary は run の「出力」と考えてください。
  • history: 損失のように、モデルの学習中に変化する値を保存するための辞書のリストです。wandb.Run.log() コマンドはこのオブジェクトに値を追加していきます。
  • config: run の設定情報を保持する辞書です。たとえば、学習 run のハイパーパラメータや、データセットのアーティファクトを作成する run の前処理手法などです。これらは run の「入力」と考えてください。
Runs object structure

Artifacts へのアクセス

Artifacts は W&B の中核となる概念です。Artifacts は、バージョン管理された名前付きファイルやディレクトリのコレクションです。Artifacts を使用して、モデルの重み、データセット、その他任意のファイルやディレクトリを追跡できます。Artifacts は W&B に保存され、ほかの run でダウンロードしたり使用したりできます。詳細や例については、Accessing artifacts を参照してください。Artifacts には通常、project オブジェクトからアクセスします:
  • project.artifactVersion(): プロジェクト内で、指定した名前とバージョンに対応する特定のアーティファクトバージョンを返します
  • project.artifact(""): プロジェクト内で、指定した名前に対応するアーティファクトを返します。その後 .versions を使って、このアーティファクトのすべてのバージョンの一覧を取得できます
  • project.artifactType(): プロジェクト内で、指定した名前に対応する artifactType を返します。その後 .artifacts を使って、このタイプのすべてのアーティファクトの一覧を取得できます
  • project.artifactTypes: プロジェクト配下にあるすべてのアーティファクトタイプの一覧を返します
Artifacts のアクセス方法