W&B Experiment の作成方法
W&B Experiment は次の4つのステップで作成します。W&B Run の初期化
wandb.init() を使用して W&B Run を作成します。
以下のスニペットでは、run を識別しやすくするために、“cat-classification” という名前の W&B Projects 内に “My first experiment” という説明付きで run を作成します。また、この run が将来の論文発表のためのベースライン実験であることを忘れないように、“baseline” と “paper1” というタグを含めています。
wandb.init() は Run オブジェクトを返します。
注意:
wandb.init() を呼び出した際に指定したプロジェクトが既に存在する場合、run は既存の Projects に追加されます。例えば、既に “cat-classification” というプロジェクトがある場合、そのプロジェクトは削除されず、新しい run がそこに追加されます。ハイパーパラメーターの辞書の取得
学習率やモデルタイプなどのハイパーパラメーターの辞書を保存します。config で取得したモデルの設定は、後で結果を整理したりクエリしたりする際に役立ちます。トレーニングループ内でのメトリクスのログ記録
run.log() を呼び出して、精度(accuracy)や損失(loss)などの各トレーニングステップに関するメトリクスをログに記録します。
W&B への Artifacts のログ記録
任意で W&B Artifacts をログに記録します。Artifacts を使用すると、Datasets や Models のバージョン管理が簡単になります。すべてをまとめる
これまでのコードスニペットをまとめたフルスクリプトは以下の通りです。次のステップ:実験の可視化
W&B ダッシュボードを、機械学習モデルの結果を整理・可視化するための中心的な場所として活用してください。数回のクリックで、平行座標プロット、パラメータの重要度分析、その他のグラフタイプ などの豊富なインタラクティブなグラフを作成できます。
ベストプラクティス
実験を作成する際に考慮すべき、推奨されるガイドラインを以下に示します。- Runs を終了させる:
withステートメント内でwandb.init()を使用すると、コードが完了するか例外が発生したときに、自動的に run が終了としてマークされます。-
Jupyter Notebook では、Run オブジェクトを自分で管理する方が便利な場合があります。この場合、Run オブジェクトに対して明示的に
finish()を呼び出して完了をマークできます。
-
Jupyter Notebook では、Run オブジェクトを自分で管理する方が便利な場合があります。この場合、Run オブジェクトに対して明示的に
- Config: ハイパーパラメーター、アーキテクチャー、データセット、その他モデルを再現するために必要なものを追跡します。これらは列として表示されます。config の列を使用して、アプリ内で動的に run をグループ化、ソート、フィルタリングできます。
- Project: Projects は、一緒に比較できる一連の Experiments です。各プロジェクトには専用のダッシュボードページがあり、異なる run のグループを簡単にオン・オフして、異なるモデルバージョンを比較できます。
- Notes: スクリプトから直接、簡単なコミットメッセージのようなメモを設定できます。W&B アプリの run の Overview セクションでノートを編集したりアクセスしたりできます。
- Tags: ベースラインの run やお気に入りの run を特定します。タグを使用して run をフィルタリングできます。タグは、後で W&B アプリのプロジェクトダッシュボードの Overview セクションで編集可能です。
- 比較のために複数の run set を作成する: 実験を比較する際は、メトリクスを比較しやすくするために複数の run set を作成してください。同じグラフやグラフグループ内で run set の表示・非表示を切り替えることができます。
wandb.init() API ドキュメントを参照してください。