> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-1917.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> メトリクス、動画、カスタムプロットなどをトラッキング

# 概要

W\&B Python SDK を使用して、メトリクス、メディア、またはカスタムオブジェクトの辞書を step にログします。W\&B は各 step でキーと値のペアを収集し、`wandb.Run.log()` でデータをログするたびに、1 つの統合辞書に保存します。スクリプトからログされたデータは、まずローカルマシン上の `wandb` というディレクトリに保存され、その後 W\&B cloud または [private server](/ja/platform/hosting/) に同期されます。

<Note>
  キーと値のペアが 1 つの統合辞書に保存されるのは、各 step に同じ値を渡した場合のみです。`step` に異なる値をログすると、W\&B は収集したすべてのキーと値をメモリに書き込みます。
</Note>

`wandb.Run.log()` を呼び出すたびに、デフォルトでは新しい `step` が作成されます。W\&B はチャートとパネルの作成時に、steps をデフォルトの x 軸として使用します。必要に応じて、カスタム x 軸を作成して使用したり、カスタム summary メトリクスを取得したりすることもできます。詳細は, [Customize log axes](/ja/models/track/log/customize-logging-axes/) を参照してください。

{/* コード内のさまざまな場所から 1 つの history step にログする場合は、次のように `run.log()` に step インデックスを渡せます。

```python
run.log({'loss': 0.2}, step=step)
``` */}

<Warning>
  各`step` (0、1、2、…) の連続する値をログするには、`wandb.Run.log()`を使用してください。履歴内の特定の step に書き込むことはできません。W\&B が書き込めるのは、「現在」の step と「次」の step のみです。
</Warning>

<div id="automatically-logged-data">
  ## 自動的にログされるデータ
</div>

W\&B は、W\&B Experiment の実行中に次の情報を自動的にログします。

* **システムメトリクス**: CPU と GPU の使用率、ネットワークなど。GPU については、[`nvidia-smi`](https://developer.nvidia.com/nvidia-system-management-interface) を使って取得されます。
* **コマンドライン**: stdout と stderr が取得され、[run page.](/ja/models/runs/) の logs タブに表示されます。

以下をログするには、アカウントの [Settings page](https://wandb.ai/settings) で [Code Saving](https://wandb.me/code-save-colab) を有効にします。

* **Git commit**: 最新の git commit が取得され、run page の Overview タブで確認できます。未コミットの変更がある場合は、`diff.patch` ファイルも表示されます。
* **Dependencies**: `requirements.txt` ファイルがアップロードされ、run page の files タブに表示されます。また、その run の `wandb` ディレクトリに保存したファイルも表示されます。

<div id="what-data-is-logged-with-specific-wb-api-calls">
  ## 特定の W\&B API 呼び出しではどのようなデータがログされますか？
</div>

W\&B では、何をログするかを正確に決めることができます。以下に、よくログされるオブジェクトをいくつか示します。

* **Datasets**: 画像やその他のデータセットサンプルを W\&B にストリーミングするには、それらを明示的にログする必要があります。
* **プロット**: `wandb.plot()` を `wandb.Run.log()` と組み合わせて使用し、チャートをトラッキングします。詳細は [プロット をログする](/ja/models/track/log/plots/) を参照してください。
* **表**: `wandb.Table` を使用してデータをログし、W\&B で可視化やクエリを行います。詳細は [表 をログする](/ja/models/track/log/log-tables/) を参照してください。
* **PyTorch gradients**: `wandb.Run.watch(model)` を追加すると、重みの勾配を UI 上でヒストグラムとして確認できます。
* **設定情報**: ハイパーパラメーター、データセットへのリンク、または使用しているアーキテクチャ名を設定パラメーターとしてログします。指定方法は次のとおりです: `wandb.init(config=your_config_dictionary)`.
* **メトリクス**: `wandb.Run.log()` を使用すると、モデルのメトリクスを確認できます。トレーニングループ内で accuracy や損失 などのメトリクスをログすると、UI でライブ更新されるグラフが表示されます。

<div id="metric-naming-constraints">
  ## メトリクス名の命名制約
</div>

GraphQL の制限により、W\&B のメトリクス名は特定の命名規則に従う必要があります。

* **使用可能な文字**: 英字 (A-Z、a-z) 、数字 (0-9) 、およびアンダースコア (\_)
* **先頭文字**: 名は英字またはアンダースコアで始める必要があります
* **パターン**: メトリクス名は `/^[_a-zA-Z][_a-zA-Z0-9]*$/` に一致する必要があります

<Warning>
  無効な文字 (カンマ、スペース、特殊記号など) を含む名前をメトリクスに付けることは避けてください。W\&B UI での並べ替え、クエリ、表示で問題が発生する可能性があります。
</Warning>

**有効なメトリクス名:**

```python theme={null}
with wandb.init() as run:
  run.log({"accuracy": 0.9, "val_loss": 0.1, "epoch_5": 5})
  run.log({"modelAccuracy": 0.95, "learning_rate": 0.001})
```

**無効なメトリクス名 (以下は避けてください) :**

```python theme={null}
with wandb.init() as run:
  run.log({"acc,val": 0.9})  # カンマを含む
  run.log({"loss-train": 0.1})  # ハイフンを含む
  run.log({"test acc": 0.95})  # スペースを含む
  run.log({"5_fold_cv": 0.8})  # 数字で始まる
```

<div id="common-workflows">
  ## 一般的なワークフロー
</div>

1. **最高の精度を比較する**: run 間でメトリクスの最高値を比較するには、そのメトリクスの summary 値を設定します。デフォルトでは、summary には各キーについて最後にログした値が設定されます。これは UI の表で便利です。summary メトリクスに基づいて run を並べ替えたりフィルターしたりできるため、最終的な精度ではなく、*最高の* 精度に基づいて表や棒グラフで run を比較しやすくなります。例: `wandb.run.summary["best_accuracy"] = best_accuracy`

2. **1 つのチャートに複数のメトリクスを表示する**: 同じ call で複数のメトリクスをログします。例:
   ```python theme={null}
   with wandb.init() as run:
     run.log({"acc": 0.9, "loss": 0.1})
   ```
   その後、UI で両方のメトリクスをプロットできます。

3. **x-axis をカスタマイズする**: 同じ log call にカスタム x-axis を追加すると、W\&B ダッシュボードで別の軸に対するメトリクスを可視化できます。例:
   ```python theme={null}
   with wandb.init() as run:
     run.log({'acc': 0.9, 'epoch': 3, 'batch': 117})
   ```
   特定のメトリクスのデフォルトの x-axis を設定するには、[Run.define\_metric()](/ja/models/ref/python/experiments/run#define_metric) を使用します。

4. **リッチメディアとチャートをログする**: `wandb.Run.log()` は、[画像や動画などのメディア](/ja/models/track/log/media/) から [表](/ja/models/track/log/log-tables/) や [チャート](/ja/models/app/features/custom-charts/) まで、さまざまなデータ型の logging をサポートします。

<div id="best-practices-and-tips">
  ## ベストプラクティスとヒント
</div>

Experiments と logging のベストプラクティスやヒントについては、[ベストプラクティス: Experiments と Logging](https://wandb.ai/wandb/pytorch-lightning-e2e/reports/W-B-Best-Practices-Guide--VmlldzozNTU1ODY1#w\&b-experiments-and-logging)を参照してください。
