W&B の実験を作成する方法
W&B の実験は、次の 4 つのステップで作成します。W&B run を初期化する
wandb.init() を使用して W&B run を作成します。
次のスニペットは、“cat-classification” という名前の W&B project に run を作成し、この run を識別しやすいように “My first experiment” という説明を付けます。また、この run が将来の論文発表を見据えたベースライン実験であることがわかるように、“baseline” と “paper1” というタグも付けています。
wandb.init() は Run オブジェクトを返します。
注:
wandb.init() を呼び出した時点で対象の project がすでに存在する場合、run はその既存の project に追加されます。たとえば、“cat-classification” という project がすでにある場合、その project は削除されずにそのまま残り、新しい run がその project に追加されます。ハイパーパラメーターの辞書を取得する
学習率やモデルのタイプなどのハイパーパラメーターを辞書として保存します。設定に取得したモデル設定は、後で結果を整理したりクエリしたりする際に役立ちます。トレーニングループ内でメトリクスをログする
run.log() を呼び出して、各トレーニングステップの精度や損失などのメトリクスをログします。
W&B にアーティファクトをログする
必要に応じて、W&B のアーティファクトをログします。アーティファクトを使用すると、データセットやモデルのバージョン管理を簡単に行えます。まとめ
これまでのコードスニペットをすべて組み合わせた完全なスクリプトを以下に示します。次のステップ: 実験を可視化する
project の Workspace を使用すると、機械学習モデルの結果を整理して可視化できます。パラレル座標プロットやパラメーター重要度分析のほか、さまざまなチャート タイプのインタラクティブなチャートを作成できます。
ベストプラクティス
実験を作成する際は、以下の推奨ガイドラインを参考にしてください。- コンテキストマネージャーで run を管理する:
withステートメント内でwandb.init()を使用すると、コードの完了時または例外の送出時に run が自動的に終了します。-
Jupyter ノートブックでは、run オブジェクトを自分で管理したほうが便利な場合があります。その場合は、
finish()を呼び出して run を完了としてマークします。
-
Jupyter ノートブックでは、run オブジェクトを自分で管理したほうが便利な場合があります。その場合は、
- 設定: ハイパーパラメーター、モデルのアーキテクチャ、データセットの情報など、モデルの再現に必要な値をトラッキングします。詳細については、W&B App で run の Overview セクションにある設定を表示するを参照してください。
- Project: project を使用すると、実験を一か所にまとめて整理できます。project では、結果の可視化、run の比較、アーティファクトの表示とダウンロード、オートメーションの作成などを行えます。
- メモ:
baseline modelやtuned hyperparametersなど、run の目的を説明するメモを追加します。メモは後から W&B App の run 概要で編集できます。 - ジョブタイプ: run にジョブタイプを追加すると、
train、test、inferenceなどのタスク別に run を整理したりフィルターしたりできます。 - タグ: run にタグを追加すると、ログされたメトリクスやアーティファクトからはわかりにくい特徴や属性を run にラベルとして付けられます。
wandb.init() を参照してください。