トレーニングコードを設定する
sweep エージェントは、試すハイパーパラメーター値の組み合わせごとにトレーニング関数を呼び出します。そのため、まず、それらの値を受け入れてメトリクスを W&B に報告する関数を作成します。wandb.Run.config からハイパーパラメーター値を受け取り、それらを使用してモデルをトレーニングし、メトリクスを返すトレーニング関数を定義します。
必要に応じて、run の出力を保存するプロジェクト名を指定します (wandb.init() の project パラメーター) 。project を指定しない場合、W&B は run を “Uncategorized” project に格納します。
sweep と run は同じ project に属している必要があります。そのため、W&B の初期化時に指定する名前は、sweep の初期化時に指定するプロジェクト名と一致する必要があります。
sweep 設定で探索空間を定義する
トレーニング関数を用意したら、次のステップは、W&B にどのハイパーパラメーターを変化させ、どのように探索するかを指示することです。 sweep で探索するハイパーパラメーターを辞書で指定します。設定オプションについては、sweep 設定を定義する を参照してください。 次の例は、ランダムサーチ ('method':'random') を使用する sweep 設定です。sweep は、x と y のパラメーターについて、設定に列挙された値の組み合わせをランダムに選択します。
metric キーに "goal": "minimize" が指定されている場合、W&B はそのキーで指定されたメトリクスを最小化します。この例では、W&B はメトリクス score ("name": "score") を最小化するように最適化します。
sweep の初期化
sweep を初期化すると、探索空間が W&B に登録され、エージェントがハイパーパラメーターの組み合わせをリクエストするために使用する識別子が返されます。 W&B は Sweep Controller を使用して、クラウド (standard) またはローカル (local) で 1 台以上のマシンにわたって sweep を管理します。Sweep Controller の詳細については、Search and stop algorithms locally を参照してください。 sweep を初期化すると、sweep 識別番号が返されます:Start the sweep
sweep が登録されたら、run を実行して探索空間を探索するエージェントを開始します。 sweep を開始するには、wandb.agent() の API 呼び出しを使用します。
オプション: 結果を可視化する
sweep が実行中になると、W&B アプリでさまざまなハイパーパラメーターの組み合わせがメトリクスに与える影響を探索できます。 project を開いて、W&B アプリのダッシュボードでライブ結果を確認してください。数クリックで、parallel coordinates plots、パラメーター重要度の分析、その他のチャート タイプなどのインタラクティブなチャートを作成できます。
オプション: エージェントを停止する
ターミナルでCtrl+C を押して current run を停止します。もう一度押すとエージェントを終了します。