Skip to main content
このチュートリアルでは、sweep を定義、初期化、実行して、ハイパーパラメーター探索を自動化し、最良のモデルを生成する設定を検索する方法を説明します。W&B に run をログする方法をすでに理解しており、大規模なハイパーパラメーター調整を始めたいユーザーを対象としています。 このチュートリアルは、主に次の 4 つのステップで構成されています。
  1. トレーニングコードを設定する
  2. sweep 設定で探索空間を定義する
  3. sweep を初期化する
  4. sweep エージェントを起動する
まず、次のコードを Jupyter ノートブックまたは Python スクリプトにコピー&ペーストしてください。以降のセクションでは、この例の各部分を詳しく説明します。

トレーニングコードを設定する

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 識別番号が返されます:
詳細については、Initialize sweeps をご覧ください。

Start the sweep

sweep が登録されたら、run を実行して探索空間を探索するエージェントを開始します。 sweep を開始するには、wandb.agent() の API 呼び出しを使用します。
エージェントが起動すると、W&B からハイパーパラメーターの組み合わせをリクエストし、それぞれに対してトレーニング関数を呼び出し、結果のメトリクスを project にログします。
マルチプロセッシングPython 標準ライブラリの multiprocessing パッケージまたは PyTorch の pytorch.multiprocessing パッケージを使用する場合は、wandb.agent() および wandb.sweep() の呼び出しを if __name__ == '__main__': でラップする必要があります。例:
この規約により、コードはスクリプトが直接実行された場合にのみ実行され、ワーカープロセスでモジュールとしてインポートされた場合には実行されません。マルチプロセッシングの詳細については、Python 標準ライブラリの multiprocessing または PyTorch の multiprocessing を参照してください。if __name__ == '__main__': の規約の詳細については、Real Python の __main__ ガイド を参照してください。

オプション: 結果を可視化する

sweep が実行中になると、W&B アプリでさまざまなハイパーパラメーターの組み合わせがメトリクスに与える影響を探索できます。 project を開いて、W&B アプリのダッシュボードでライブ結果を確認してください。数クリックで、parallel coordinates plots、パラメーター重要度の分析、その他のチャート タイプなどのインタラクティブなチャートを作成できます。
Sweeps ダッシュボードの例
詳細については、sweep 結果の可視化をご覧ください。ダッシュボードの例については、こちらのサンプル Sweeps Project を参照してください。

オプション: エージェントを停止する

ターミナルで Ctrl+C を押して current run を停止します。もう一度押すとエージェントを終了します。
最終更新日 2026年9月30日