メインコンテンツへスキップ
W&B Python SDK を使用して、機械学習の実験をトラッキングできます。結果はインタラクティブなダッシュボードで確認できるほか、W&B Public API を使用してプログラムからアクセスできるよう、データを Python にエクスポートすることもできます。 このガイドでは、W&B の構成要素を使用して W&B Experiment を作成する方法を説明します。

W&B Experiment の作成方法

4 つの step で W&B Experiment を作成します。
  1. W&B run を初期化する
  2. ハイパーパラメーターの 辞書 を記録する
  3. トレーニングループ内でメトリクスをログする
  4. Artifact を W&B にログする

W&B run を初期化する

W&B Run を作成するには、wandb.init() を使用します。 次のスニペットは、“cat-classification” という名前の W&B プロジェクトに run を作成し、この run を識別しやすくするために説明として “My first experiment” を設定しています。さらに、“baseline”“paper1” のタグを追加して、この run が将来の論文公開を想定したベースライン実験であることがわかるようにしています。
wandb.init()Run オブジェクトを返します。
注: wandb.init() を呼び出した時点ですでにそのプロジェクトが存在する場合、Runs は既存のプロジェクトに追加されます。たとえば、“cat-classification” という名前のプロジェクトがすでにある場合、そのプロジェクトは削除されず、引き続き存在します。代わりに、そのプロジェクトに新しい run が追加されます。

ハイパーパラメーターの辞書を記録する

学習率やモデルタイプなどのハイパーパラメーターを辞書として保存します。config に記録したモデルの設定は、後で結果を整理したりクエリしたりするのに役立ちます。
Experiment の設定方法について詳しくは、Experiments の設定を参照してください。

トレーニングループ内でメトリクスをログする

各トレーニングstepにおける精度や損失などのメトリクスをログするには、run.log() を呼び出します。
W&B でログできるさまざまなデータタイプについて詳しくは、Experiments 中にデータをログするを参照してください。

Artifact を W&B にログする

必要に応じて、W&B Artifact をログできます。Artifacts を使うと、データセットやモデルのバージョン管理が容易になります。
Artifacts の詳細、または Registry でのモデルのバージョン管理については、こちらをご覧ください。

以上をまとめると

前述のコードスニペットをすべて含む完全なスクリプトを以下に示します。

次のステップ: 実験を可視化する

W&B ダッシュボードを、機械学習モデルの結果を整理し、可視化するための中心的な場所として使用します。数回クリックするだけで、平行座標プロットパラメーター重要度分析その他のチャートタイプ などの、豊富でインタラクティブなチャートを作成できます。
クイックスタート Sweeps ダッシュボードの例
実験や特定の run を表示する方法の詳細については、実験結果を可視化する を参照してください。

ベストプラクティス

以下は、Experiments を作成する際に考慮すべき推奨ガイドラインです。
  1. run を終了する: with 文で wandb.init() を使用すると、コードの実行が完了したとき、または例外が発生したときに、run が自動的に終了済みとしてマークされます。
    • Jupyter ノートブックでは、Run オブジェクトを自分で管理したほうが便利な場合があります。この場合は、Run オブジェクトで finish() を明示的に呼び出して、完了としてマークできます。
  2. Config: モデルを再現するために使用したいハイパーパラメーター、アーキテクチャ、データセット、そのほかの情報をトラッキングします。これらは column として表示され、アプリでは設定 column を使って run を動的にグループ化、並べ替え、フィルターできます。
  3. Project: プロジェクトは、まとめて比較できる Experiments の集合です。各プロジェクトには専用のダッシュボードページがあり、異なるモデル バージョンを比較できるように、run のさまざまなグループを簡単にオン/オフできます。
  4. Notes: スクリプトから直接、簡単なコミットメッセージを設定します。メモは W&B App の run の Overview セクションで編集および確認できます。
  5. Tags: ベースラインの run や重要な run を識別します。tags を使って run をフィルターできます。tags は、後から W&B App のプロジェクトのダッシュボードにある Overview セクションで編集できます。
  6. Experiments を比較するために複数の run set を作成する: Experiments を比較するときは、メトリクスを比較しやすくするために複数の run set を作成します。同じ チャート または チャート のグループ上で、run set のオン/オフを切り替えられます。
次の コードスニペット は、上記のベストプラクティスに従って W&B Experiment を定義する方法を示しています。
W&B Experiment を定義する際に使用できるパラメーターの詳細については、API リファレンスガイドwandb.init() API ドキュメントを参照してください。