トレーニングコードを設定する
sweep エージェントは、試行するハイパーパラメーター値の組み合わせごとにトレーニング関数を呼び出すため、最初のステップは、それらの値を受け取り、メトリクスを W&B に報告する関数を記述することです。wandb.Run.config からハイパーパラメーターの値を受け取り、それらを使用してモデルをトレーニングし、メトリクスを返すトレーニング関数を定義します。
必要に応じて、run の出力を保存するproject名を指定します (wandb.init() の project パラメーター) 。projectを指定しない場合、run は “Uncategorized” project に配置されます。
sweep と run は、どちらも同じproject内に存在する必要があります。そのため、W&B の初期化時に指定する名前は、sweep の初期化時に指定するproject名と一致している必要があります。
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 の詳細については、ローカルでアルゴリズムを検索および停止するを参照してください。 sweep を初期化すると、sweep の識別番号が返されます。sweep を開始する
sweep を登録したら、Runs を実行して探索空間を探索するエージェントを起動します。 sweep を開始するには、wandb.agent() API を使用します。
オプション: 結果を可視化する
sweep の実行が始まったら、W&B App でさまざまなハイパーパラメーターの組み合わせがメトリクスにどのような影響を与えるかを確認できます。 project を開くと、W&B App のダッシュボードでリアルタイムの結果を確認できます。数回クリックするだけで、並列座標プロット、パラメーター重要度分析、その他のチャートタイプ などの対話型チャートを作成できます。
任意: エージェントを停止する
ターミナルでCtrl+C を押すと、現在の run を停止できます。もう一度押すと、エージェントが終了します。