メインコンテンツへスキップ
このページでは、W&B がハイパーパラメーター探索を実行できるように、1 台以上のマシンで sweep エージェントを開始する方法を説明します。sweep エージェントは、sweep を初期化するときに定義した sweep 設定を使用して、さまざまなハイパーパラメーターの組み合わせを探索します。W&B は、sweep エージェントが実行するハイパーパラメーターの組み合わせごとに、新しい run を作成します。 実行中の sweep エージェントを一時停止、再開、停止、またはキャンセルする方法については、sweep の管理を参照してください。 続行する前に、次の作業を行ってください。
  • トレーニング スクリプトを設定し、W&B でハイパーパラメーターの組み合わせを作成してトラッキングできるようにします。例については、コードに W&B を追加するを参照してください。
  • sweep 用の設定ファイルを定義します。
以下の例では、W&B CLI または Python から sweep エージェントを開始する方法を示します。sweep を初期化したときに W&B から返される sweep ID が必要です。短い sweep ID は単独で使用することもできます (例: dtzl1o7u) 。また、entity と project をパスとして含めることもできます。
以下を指定します。
  • entity: ご自身の W&B ユーザー名またはチーム名。
  • project: W&B が run の出力を保存する project の名前です。project を指定しない場合、W&B は run を “Uncategorized” という project に保存します。
  • sweep_ID: W&B が生成する疑似ランダムな一意の ID です。
sweep を開始するには、wandb agent コマンドを使用します。sweep を初期化したときに W&B から返される sweep ID を指定してください。次のコマンドの [SWEEP-ID] を、ご自身の sweep ID に置き換えてください。
エージェントを中断したとき (たとえば Ctrl+C) に安全にシャットダウンするには、wandb agent --forward-signals [SWEEP-ID] を使用してください。これにより、現在の run がシグナルを受け取り、正常に終了できます。詳しくは、Signal handling and sweep runs を参照してください。

sweep エージェントが試行する Runs の数を制限する

デフォルトでは、ランダム探索とベイズ探索は無期限に実行されるため、エージェントが試行する Runs の数に上限を設定してください。sweep エージェントが試行する Runs の数を指定することで、処理量を制限できます。以下のコード スニペットでは、CLI と Jupyter ノートブックまたは Python script 内で Runs の最大数を設定する方法を示します。
ランダム探索とベイズ探索は無期限に実行されます。run 数を設定しない場合は、コマンドライン、Python script 内、または Sweeps UI からプロセスを停止する必要があります。
まず、wandb sweep コマンドで sweep を初期化します。詳細は、sweeps の初期化を参照してください。
次に、count フラグに整数値を渡して、試行する Runs の最大数を設定します。