メインコンテンツへスキップ
Runs を グループ に整理しましょう。グループとは、特定のモデルのトレーニング run や、特定のデータセットの評価 run など、共通の目的を共有する Runs のコレクションです。 また、ジョブタイプ などの他のプロパティで Runs を整理することもできます。ジョブタイプ は、preprocessing(前処理)、training(トレーニング)、evaluation(評価)など、run の機能を示します。

Runs をグループに整理する

W&B Python SDK を使用してプログラムで、または W&B App でインタラクティブに、Runs をグループに追加できます。
W&B はグループ名を run の wandb.Run.group プロパティとして保存します。
W&B Python SDK を使用して、1 つ以上の Runs をプログラムでグループに追加します。wandb.init(group="") で run を初期化する際に、group 引数にグループ名を渡します。グループ名を使用して、W&B App で Runs を整理およびフィルタリングできます。次の例では、ABC という名前の 3 つのグループを作成します。各グループには 3 つの Runs が含まれます。
import wandb

entity = "<entity>"
project = "<project>"

for group in ["A", "B", "C"]:
    for i in range(3):
        with wandb.init(entity=entity, project=project, group=group, 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
                })
プロジェクトの Workspace では、グループごとに整理された Runs を表示できます。次の画像は、Runs テーブルをグループ名で整理した様子を示しています。ABC という 3 つのグループが Runs テーブルに表示され、それぞれに 3 つの Runs が含まれています。
グループ名でグループ化された Runs テーブル

グループを表示する

W&B App でグループごとに整理された Runs を表示します:
  1. プロジェクトのサイドバーで Runs タブを選択します。
  2. Runs リストの上にある Group ボタンをクリックします。
  3. ドロップダウンから Group を選択します。

グループ間で Runs を移動する

Runs をあるグループから別のグループに移動します:
  1. W&B プロジェクトに移動します。
  2. プロジェクトのサイドバーから Runs タブを選択します。
  3. チェックボックスをクリックして、1 つ以上の Runs を選択します。
  4. テーブルの上にある Move to group をクリックします。
  5. ドロワー内で、移動先のグループを選択するか、新しいグループを作成します。
  6. Move をクリックします。

グループから Runs を削除する

  1. W&B プロジェクトに移動します。
  2. プロジェクトのサイドバーから Runs タブを選択します。
  3. Runs リストの上にある Group ボタンをクリックします。
  4. ドロップダウンで、削除したいグループ名の横にある X を選択します。

グループを削除する

グループを削除するには、その中のすべての Runs を削除します。これにより、グループは自動的に削除されます。

ジョブタイプで Runs を整理する

Runs をその ジョブタイプ で整理します。ジョブタイプは、preprocessingtrainingevaluation など、run の機能を示します。
run の wandb.Run.job_type プロパティにアクセスすることで、run のジョブタイプを確認できます。
wandb.init(job_type="")job_type 引数を渡すことで、run にジョブタイプを追加します。例えば、次のコードスニペットは、ジョブタイプが training または evaluation の Runs を作成します。
import wandb

entity = "<entity>"
project = "<project>"

for job_type in ["training", "evaluation"]:
    for i in range(2):
        with wandb.init(entity=entity, project=project, job_type=job_type, name=f"{job_type}_run_{i}") as run:
            # プロセスをシミュレート
            for step in range(50):
                run.log({
                    "metric1": 0.2 + (step / 50) * 0.4 + (i * 0.03),
                    "metric2": 0.8 - (step / 50) * 0.3
                })

次の画像は、ジョブタイプごとに整理された Runs を示しています。
グループ化されていない Runs テーブル

ジョブタイプで整理された Runs を表示する

W&B App でグループごとに整理された Runs を表示します:
  1. プロジェクトのサイドバーで Runs タブを選択します。
  2. Runs リストの上にある Group ボタンをクリックします。
  3. ドロップダウンから Job Type を選択します。