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

# sweep configuration の例
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() 関数は sweep ID を返します。 sweep ID には Entity 名と Project 名が含まれます。 sweep ID をメモしておいてください。