Skip to main content
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 でログできるさまざまなデータタイプについて詳しくは、オブジェクトとメディアをログするを参照してください。

Artifact を W&B にログする

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

以上をまとめると

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

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

project の Workspace を使用して、機械学習モデルの結果を整理し、可視化します。平行座標プロットパラメーター重要度分析その他のチャートタイプ などのインタラクティブなチャートを作成できます。
クイックスタート Sweeps workspace の例
実験や特定の run を表示する方法の詳細については、実験結果を表示する を参照してください。

ベストプラクティス

Experiments を作成する際に考慮すべき推奨事項を以下に示します。
  • コンテキストマネージャーで Runs を管理する: with 文で wandb.init() を使用すると、コードの実行完了時または例外発生時に run が自動的に終了します。
    • Jupyter ノートブックでは、Run オブジェクトを自分で管理したい場合もあります。その場合は、finish() を呼び出して完了としてマークします。
  • Config: モデルを再現するために必要なハイパーパラメーター、モデル アーキテクチャ、データセット情報、そのほかの値をトラッキングします。詳細は, W&B App の run の Overview セクションで設定を表示するを参照してください。
  • Project: Projects を使用して、結果の可視化、Runs の比較、Artifacts の表示とダウンロード、オートメーションの作成などを行える一元的な場所で Experiments を整理します。
  • メモ: baseline modeltuned hyperparameters など、run の目的を説明するメモを追加します。メモは後で W&B App の run overview から編集できます。
  • ジョブタイプ: Runs にジョブタイプを追加して、traintestinference などのタスクごとに Runs を整理してフィルターします。
  • Tags: Runs にタグを追加して、ログされたメトリクスや Artifacts だけでは分かりにくい機能や属性で Runs にラベルを付けます。
次の例は、これらのベストプラクティスを使用して W&B run を初期化する方法を示しています。
利用可能なパラメーターの詳細については、Python SDK リファレンスガイドwandb.init() を参照してください。