メインコンテンツへスキップ
W&B は Sweep Controller を使用して、クラウド環境(standard)やローカル環境(local)で、1 台以上のマシンにまたがってスイープを管理します。run が完了すると、Sweep Controller は新たに実行する run を記述した一連の指示を発行します。これらの指示は、実際に run を実行する agent が受け取ります。典型的な W&B Sweep では、controller は W&B サーバー上に存在し、agent は あなたの マシン上に存在します。 次のコードスニペットは、CLI と Jupyter Notebook または Python スクリプト内でスイープを初期化する方法を示します。
  1. スイープを初期化する前に、YAML ファイルか、スクリプト内のネストされた Python 辞書オブジェクトのいずれかでスイープの設定が定義されていることを確認してください。詳細については、Define sweep configuration を参照してください。
  2. W&B Sweep と W&B Run の両方は同じプロジェクト内になければなりません。そのため、W&B を初期化するときに指定する名前(wandb.init())は、W&B Sweep を初期化するときに指定するプロジェクト名(wandb.sweep())と一致している必要があります。
W&B SDK を使用してスイープを初期化します。スイープの設定用辞書を sweep パラメータに渡します。オプションとして、W&B Run の出力を保存するプロジェクトの名前を project パラメータに指定します。プロジェクトが指定されていない場合、run は “Uncategorized” プロジェクトに配置されます。
import wandb

# Sweep 設定の例
sweep_configuration = {
    "method": "random",
    "name": "sweep",
    "metric": {"goal": "maximize", "name": "val_acc"},
    "parameters": {
        "batch_size": {"values": [16, 32, 64]},
        "epochs": {"values": [5, 10, 15]},
        "lr": {"max": 0.1, "min": 0.0001},
    },
}

sweep_id = wandb.sweep(sweep=sweep_configuration, project="project-name")
wandb.sweep() 関数はスイープ ID を返します。スイープ ID には entity 名とプロジェクト名が含まれます。スイープ ID を控えておいてください。