プロットを使用すると、レポート内で run のデータを可視化できます。各パネルグリッドには、一連の run set と一連のパネルがあります。パネルグリッド内の run set は、グリッド内の各パネルに表示されるデータを制御します。別の run set からデータを取得するグラフを追加したい場合は、新しいパネルグリッドを作成します。
SDK を使用すると、プログラムからレポートにプロットを追加できます。1 つ以上のプロットまたはグラフオブジェクトのリストを、PanelGrid Public API Class の panels パラメーターに渡します。プロットまたはグラフオブジェクトは、対応する Python Class を使って作成します。以下の例は、折れ線グラフと散布図を作成する方法を示しています。
App UI または W&B SDK を使用して、プロジェクトからインタラクティブに run set を追加します。
App UI
Report and Workspace API
レポートでスラッシュ (/) を入力すると、ドロップダウンメニューが表示されます。ドロップダウンから パネルグリッド を選択します。W&B は、レポートの作成元のプロジェクトから run set を自動的に import します。パネルをレポートに import すると、レポートはプロジェクトから run 名を引き継ぎます。レポートでは、必要に応じて run の名前を変更 し、閲覧者により多くのコンテキストを提供できます。名前の変更が適用されるのは、その個別のパネルだけです。同じレポート内でそのパネルを複製した場合、複製先のパネルにも新しい名前が反映されます。
レポートで鉛筆アイコンをクリックして、レポートエディタを開きます。
run set で、名前を変更する run を検索します。run 名にカーソルを合わせて action () メニューをクリックします。次のいずれかを選択し、フォームを送信します。
プロジェクトの run 名を変更: プロジェクト全体で run 名を変更します。新しいランダム名を生成するには、このフィールドを空欄のままにします。
パネルグリッド の run 名を変更: run 名をレポート内でのみ変更し、他のコンテキストでは既存の名前を保持します。このオプションでは、新しいランダム名を生成できません。
レポートを公開 をクリックします。
wr.Runset() および wr.PanelGrid クラスを使用して、プロジェクトから run set を追加します。run set を追加するには、次の step に従ってください。
wr.Runset() オブジェクトのインスタンスを作成します。project パラメーターには run set を含むプロジェクトの名を指定し、entity パラメーターにはそのプロジェクトを所有する entity を指定します。
wr.PanelGrid() オブジェクトのインスタンスを作成します。1 つ以上の run set オブジェクトの list を runsets パラメーターに渡します。
1 つ以上の wr.PanelGrid() オブジェクトのインスタンスを list に格納します。
レポートインスタンスの blocks 属性を、パネルグリッド インスタンスの list で更新します。
レポートでは、プロジェクトの最新データが表示されるよう、run set が自動的に更新されます。後から追加された run によってレポートの表示内容が変わらないよう、特定の時点におけるレポート内の run set の状態を保持するには、run set を固定します。レポートの表示中に run set を固定するには、パネルグリッド内の Filter ボタンの近くにある雪の結晶アイコンをクリックします。
類似した設定の run を比較するには、設定値で run をグループ化します。設定値は、run の設定 (wandb.init(config=)) で指定するパラメーターです。設定値で run をグループ化するには、config.[KEY] 構文を使用します。ここで、[KEY] はグループ化に使う設定値の名です。たとえば、次のコードスニペットでは、まず group の設定値を指定して run を初期化し、その後 group 設定値に基づいて report 内の run をグループ化します。[ENTITY] と [PROJECT] の値は、ご使用の W&B entity 名およびプロジェクト名に置き換えてください。
import wandbimport wandb_workspaces.reports.v2 as wrentity = "[ENTITY]"project = "[PROJECT]"for group in ["control", "experiment_a", "experiment_b"]: for i in range(3): with wandb.init(entity=entity, project=project, group=group, config={"group": group, "run": i}, name=f"{group}_run_{i}") as run: # トレーニングをシミュレーションする for step in range(100): run.log({ "acc": 0.5 + (step / 100) * 0.3 + (i * 0.05), "loss": 1.0 - (step / 100) * 0.5 })
その後、Pythonスクリプトまたはノートブック内で、config.group の値で run をグループ化できます。
run は、ログされた値ではなく、run に固有のプロパティに基づいて整理するために、メタデータでグループ化できます。run は、run の名 (Name)、状態 (State)、またはジョブタイプ (JobType) でグループ化できます。前の例に続いて、以下のコードを使うと、名で run をグループ化できます:
runset = wr.Runset( project=project, entity=entity, groupby=["Name"] # run 名ごとにグループ化)
run の名前は、wandb.init(name=) パラメーターで指定した名前です。名前を指定しない場合、W&B が run にランダムな名前を生成します。run の名前は、W&B App の run の Overview ページ、または Api.runs().run.name を使ってプログラムから確認できます。
Workspace and Reports API を使用すると、run set をプログラムでフィルタリングして report に追加できます。フィルタリングを行うと、設定値、メトリクス、tags、または run のプロパティに基づいて、表示したい特定の Runs のみに run set を絞り込めます。フィルター式の一般的な構文は次のとおりです。
Filter('[KEY]') operation [VALUE]
この式では、[KEY] はフィルター名、operation は比較演算子 (たとえば >, <, ==, in, not in, or, and) で、[VALUE] は比較対象の値です。Filter は、適用するフィルターのタイプを表すプレースホルダーです。次の表は、使用可能なフィルターとその説明を示しています。
Filter
Description
Available keys
Config('[KEY]')
設定値でフィルター
wandb.init(config=) の config パラメーターで指定した値。
SummaryMetric('[KEY]')
サマリー メトリクスでフィルター
wandb.Run.log() を使用して run にログした値。
Tags('[KEY]')
タグでフィルター
run に追加したタグの値 (プログラムから、または W&B App で追加) 。
Metric('[KEY]')
run のプロパティでフィルター
tags, state, displayName, jobType
フィルターを定義したら、report を作成し、フィルターされた run set を wr.PanelGrid(runsets=) に渡せます。report に異なる要素をプログラムで追加する方法の詳細については、このページ内の Report and Workspace API タブを参照してください。以下の例では、report 内で run set をフィルターする方法を示します。角かっこで囲まれた値 (たとえば [ENTITY] や [PROJECT]) は、ご自身の値に置き換えてください。
1 つ以上の設定値を使って run set をフィルターします。設定値は、run の設定 (wandb.init(config=)) で指定するパラメーターです。たとえば、次のコード例では、まず learning_rate と batch_size の設定値を指定して run を初期化し、その後 learning_rate の設定値に基づいてレポート内の run をフィルターします。
サマリー メトリクスで run set をフィルターすると、accuracy や loss の値など、特定の結果のしきい値を満たす run に絞り込めます。サマリー メトリクスは、wandb.Run.log() を使って run にログする値です。run をログした後、サマリー メトリクスの名は、W&B App の run の Overview ページにある Summary セクションで確認できます。
import wandbimport wandb_workspaces.reports.v2 as wrreport = wr.Report(project="report-editing")report.blocks = [ wr.MarkdownBlock(text="Markdown cell with *italics* and **bold** and $e=mc^2$")]