wandb.Run.log() でデータをログするたびに、1 つの統合辞書に保存します。スクリプトからログされたデータは、まずローカルマシン上の wandb というディレクトリに保存され、その後 W&B cloud または private server に同期されます。
キーと値のペアが 1 つの統合辞書に保存されるのは、各 step に同じ値を渡した場合のみです。
step に異なる値をログすると、W&B は収集したすべてのキーと値をメモリに書き込みます。wandb.Run.log() を呼び出すたびに、デフォルトでは新しい step が作成されます。W&B はチャートとパネルの作成時に、steps をデフォルトの x 軸として使用します。必要に応じて、カスタム x 軸を作成して使用したり、カスタム summary メトリクスを取得したりすることもできます。詳細は, Customize log axes を参照してください。
自動的にログされるデータ
- システムメトリクス: CPU と GPU の使用率、ネットワークなど。GPU については、
nvidia-smiを使って取得されます。 - コマンドライン: stdout と stderr が取得され、run page. の logs タブに表示されます。
- Git commit: 最新の git commit が取得され、run page の Overview タブで確認できます。未コミットの変更がある場合は、
diff.patchファイルも表示されます。 - Dependencies:
requirements.txtファイルがアップロードされ、run page の files タブに表示されます。また、その run のwandbディレクトリに保存したファイルも表示されます。
特定の W&B API 呼び出しではどのようなデータがログされますか?
- Datasets: 画像やその他のデータセットサンプルを W&B にストリーミングするには、それらを明示的にログする必要があります。
- プロット:
wandb.plot()をwandb.Run.log()と組み合わせて使用し、チャートをトラッキングします。詳細は プロット をログする を参照してください。 - 表:
wandb.Tableを使用してデータをログし、W&B で可視化やクエリを行います。詳細は 表 をログする を参照してください。 - PyTorch gradients:
wandb.Run.watch(model)を追加すると、重みの勾配を UI 上でヒストグラムとして確認できます。 - 設定情報: ハイパーパラメーター、データセットへのリンク、または使用しているアーキテクチャ名を設定パラメーターとしてログします。指定方法は次のとおりです:
wandb.init(config=your_config_dictionary). - メトリクス:
wandb.Run.log()を使用すると、モデルのメトリクスを確認できます。トレーニングループ内で accuracy や損失 などのメトリクスをログすると、UI でライブ更新されるグラフが表示されます。
メトリクス名の命名制約
- 使用可能な文字: 英字 (A-Z、a-z) 、数字 (0-9) 、およびアンダースコア (_)
- 先頭文字: 名は英字またはアンダースコアで始める必要があります
- パターン: メトリクス名は
/^[_a-zA-Z][_a-zA-Z0-9]*$/に一致する必要があります
一般的なワークフロー
-
最高の精度を比較する: run 間でメトリクスの最高値を比較するには、そのメトリクスの summary 値を設定します。デフォルトでは、summary には各キーについて最後にログした値が設定されます。これは UI の表で便利です。summary メトリクスに基づいて run を並べ替えたりフィルターしたりできるため、最終的な精度ではなく、最高の 精度に基づいて表や棒グラフで run を比較しやすくなります。例:
wandb.run.summary["best_accuracy"] = best_accuracy -
1 つのチャートに複数のメトリクスを表示する: 同じ call で複数のメトリクスをログします。例:
その後、UI で両方のメトリクスをプロットできます。
-
x-axis をカスタマイズする: 同じ log call にカスタム x-axis を追加すると、W&B ダッシュボードで別の軸に対するメトリクスを可視化できます。例:
特定のメトリクスのデフォルトの x-axis を設定するには、Run.define_metric() を使用します。
-
リッチメディアとチャートをログする:
wandb.Run.log()は、画像や動画などのメディア から 表 や チャート まで、さまざまなデータ型の logging をサポートします。