wandb.Run.log() を使用してデータが ログ 記録されるたびに、それらを1つの統合された 辞書 に保存します。 スクリプト から ログ 記録された データ は、マシンの wandb という名前の ディレクトリー にローカルで保存され、その後 W&B クラウド または プライベート サーバー に同期されます。
キーと値のペアが1つの統合された 辞書 に保存されるのは、各ステップで同じ値を渡した場合のみです。
step に対して異なる値を ログ 記録した場合、 W&B は収集されたすべてのキーと値をメモリに書き込みます。wandb.Run.log() の各呼び出しが新しい step になります。 W&B は、 チャート や パネル を作成する際のデフォルトの x 軸としてステップを使用します。 オプションで、カスタム x 軸を作成して使用したり、カスタム サマリー メトリクス をキャプチャしたりすることもできます。 詳細については、 ログ軸のカスタマイズ を参照してください。
自動的にログ記録されるデータ
W&B は、 W&B Experiments の実行中に以下の情報を自動的に ログ 記録します。- システムメトリクス: CPU および GPU 使用率、ネットワークなど。 GPU については、
nvidia-smiを使用して取得されます。 - コマンドライン: 標準出力 (stdout) と標準エラー出力 (stderr) が取得され、 run ページ の logs タブに表示されます。
- Git commit: 最新の git commit を取得し、 run ページの Overviewタブ に表示します。また、未コミットの変更がある場合は
diff.patchファイルも表示されます。 - 依存関係:
requirements.txtファイルがアップロードされ、 run ページの files タブに表示されます。また、その run のwandbディレクトリー に保存したすべてのファイルも表示されます。
特定の W&B API 呼び出しでログ記録されるデータは?
W&B では、何を ログ 記録するかを正確に決定できます。 以下は、一般的に ログ 記録される オブジェクト のリストです。- Datasets: W&B にストリーミングするには、画像やその他の データセット サンプルを明示的に ログ 記録する必要があります。
- Plots:
wandb.plot()をwandb.Run.log()と組み合わせて使用し、 チャート を追跡します。 詳細については Log Plots を参照してください。 - Tables:
wandb.Tableを使用して、 W&B で視覚化およびクエリするための データ を ログ 記録します。 詳細については Log Tables を参照してください。 - PyTorch 勾配:
wandb.Run.watch(model)を追加すると、 UI 上で重みの 勾配 をヒストグラムとして確認できます。 - 設定情報: ハイパーパラメーター 、 データセット へのリンク、または使用している アーキテクチャー 名を 設定 パラメータとして ログ 記録します。これらは次のように渡されます:
wandb.init(config=your_config_dictionary)。 - メトリクス:
wandb.Run.log()を使用して モデル の メトリクス を確認します。 トレーニング ループ内から精度や損失などの メトリクス を ログ 記録すると、 UI 上でライブ更新されるグラフが表示されます。
メトリクス命名の制約
GraphQL の制限により、 W&B の メトリクス 名は特定の命名規則に従う必要があります。- Allowed characters: Letters (A-Z, a-z), digits (0-9), and underscores (_)
- Starting character: Names must start with a letter or underscore
- Pattern: Metric names should match
/^[_a-zA-Z][_a-zA-Z0-9]*$/
一般的なワークフロー
-
最高精度の比較: Runs 間で メトリクス の最高値を比較するには、その メトリクス の サマリー 値を設定します。 デフォルトでは、 サマリー は各 キー に対して最後に ログ 記録された値に設定されます。 これは UI の テーブル で役立ち、 サマリー メトリクス に基づいて Runs をソートおよびフィルタリングできるため、最終的な精度ではなく 最高の 精度に基づいて、 テーブル や棒グラフで Runs を比較するのに役立ちます。 例:
wandb.run.summary["best_accuracy"] = best_accuracy -
1つのチャートで複数のメトリクスを表示: 同じ呼び出しで複数の メトリクス を ログ 記録します。 例:
その後、 UI で両方の メトリクス をプロットできます。
-
x 軸のカスタマイズ: 同じ ログ 呼び出しにカスタム x 軸を追加して、 W&B ダッシュボード で別の軸に対して メトリクス を視覚化します。 例:
特定の メトリクス に対してデフォルトの x 軸を設定するには、 Run.define_metric() を使用します。
-
リッチメディアとチャートのログ記録:
wandb.Run.log()は、 画像やビデオなどのメディア から Tables 、 カスタムチャート まで、幅広い データ タイプ の ログ 記録をサポートしています。