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

# Run

export const GitHubLink = ({url, compact = false}) => <a href={url} target="_blank" rel="noopener noreferrer" className={compact ? "source-link" : "github-source-link"}>
    {compact ? "ソースを表示" : <>
    <svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
      <path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z" />
    </svg>
    GitHub のソース
      </>}
  </a>;

<GitHubLink compact url="https://github.com/wandb/wandb/blob/main/wandb/sdk/wandb_run.py#L406" />

## <Badge color="yellow" size="lg" shape="rounded">クラス</Badge> wandb.Run

W\&B でログされる計算の単位です。通常は ML の実験です。

新しい run を作成するには、[`wandb.init()`](https://docs.wandb.ai/models/ref/python/functions/init) を呼び出します。`wandb.init()` は新しい run を開始し、`wandb.Run` オブジェクトを返します。各 run には一意の ID (run ID) が関連付けられます。W\&B では、コンテキストマネージャー (`with` 文) を使用して run を自動的に終了することを推奨しています。

分散トレーニング実験では、プロセスごとに 1 つの run を使って各プロセスを個別にトラッキングすることも、すべてのプロセスを 1 つの run でトラッキングすることもできます。詳細は [Log distributed training experiments](https://docs.wandb.ai/models/track/log/distributed-training) を参照してください。

`wandb.Run.log()` を使って run にデータをログできます。`wandb.Run.log()` を使用してログしたものはすべて、その run に送信されます。詳細は [Create an experiment](https://docs.wandb.ai/models/track/create-an-experiment) または [`wandb.init`](https://docs.wandb.ai/models/ref/python/functions/init) API リファレンスページを参照してください。

[`wandb.apis.public`](https://docs.wandb.ai/models/ref/python/public-api/api) 名前空間には、別の `Run` オブジェクトがあります。このオブジェクトは、すでに作成されている Runs を操作するために使用します。

<div id="attributes">
  ## 属性
</div>

* `summary`: (Summary) run のサマリーであり、辞書のようなオブジェクトです。詳細は [Log summary metrics](https://docs.wandb.ai/models/track/log/log-summary) を参照してください。

## 例

`wandb.init()` で run を作成します:

```python theme={null}
import wandb

# 新しい run を開始してデータをログする
# コンテキストマネージャー (`with` 文) を使用して run を自動的に終了する
with wandb.init(entity="entity", project="project") as run:
    run.log({"accuracy": acc, "loss": loss})
```

<div id="properties">
  ## プロパティ
</div>

<ResponseField name="config" type="wandb_config.Config">
  この run に関連付けられた Config オブジェクト。
</ResponseField>

<ResponseField name="config_static" type="wandb_config.ConfigStatic">
  この run に関連付けられた静的な設定オブジェクト。
</ResponseField>

<ResponseField name="dir" type="str">
  run の file が保存されるディレクトリ。

  これは、`run.save()` で保存された file (`run.log()` に渡された特定のデータタイプに対して
  自動作成される file を含む) を指します。run のすべてのデータを含む
  ディレクトリについては、`run.sync_dir` を参照してください。
</ResponseField>

<ResponseField name="disabled" type="bool">
  run が無効な場合は True、それ以外の場合は False。
</ResponseField>

<ResponseField name="entity" type="str">
  run に関連付けられた W\&B entity の名。

  entity には、ユーザー名、チーム名、または組織名を指定できます。
</ResponseField>

<ResponseField name="group" type="str">
  この run に関連付けられた group の名を返します。

  run をグループ化すると、関連する experiment を整理し、
  W\&B UI でまとめて可視化できます。これは、分散トレーニングや交差検証など、
  複数の run を 1 つの experiment として表示・管理する必要がある
  シナリオで特に役立ちます。

  すべてのプロセスが同じ Run オブジェクトを共有する共有モードでは、
  run は 1 つしかなくグループ化も不要なため、通常は group を設定する必要は
  ありません。
</ResponseField>

<ResponseField name="id" type="str">
  この run の識別子。
</ResponseField>

<ResponseField name="job_type" type="str">
  run に関連付けられたジョブタイプの名。

  W\&B App の run の Overview ページで、run のジョブタイプを確認できます。

  これを使用して、"training"、"evaluation"、"inference" などの
  ジョブタイプ別に run を分類できます。これは、W\&B UI で run を整理・
  フィルタリングする際、特に同じ project 内に異なるジョブタイプの複数の
  run がある場合に役立ちます。詳細については、
  [Organize runs](https://docs.wandb.ai/models/runs#organize-runs) を参照してください。
</ResponseField>

<ResponseField name="name" type="str | None">
  run の表示名。

  表示名は一意であるとは限らず、任意の説明的な名を設定できます。
  デフォルトでは、ランダムに生成されます。
</ResponseField>

<ResponseField name="notes" type="str | None">
  run に関連付けられたメモ (ある場合) 。

  メモには複数行の string を指定でき、`$$` 内では `$x + 3$` のような
  Markdown や LaTeX の数式も使用できます。
</ResponseField>

<ResponseField name="offline" type="bool">
  run がオフラインの場合は True、それ以外の場合は False。
</ResponseField>

<ResponseField name="path" type="str">
  run へのパス。

  run パスには entity、project、run ID が含まれ、形式は
  `entity/project/run_id` です。
</ResponseField>

<ResponseField name="project" type="str">
  run に関連付けられた W\&B のプロジェクトの名。
</ResponseField>

<ResponseField name="project_url" type="str | None">
  run に関連付けられた W\&B のプロジェクトの URL (ある場合) 。

  オフライン run には project URL がありません。
</ResponseField>

<ResponseField name="resumed" type="bool">
  run が再開された場合は True、それ以外の場合は False。
</ResponseField>

<ResponseField name="settings" type="Settings">
  run の Settings オブジェクトの凍結されたコピー。
</ResponseField>

<ResponseField name="start_time" type="float">
  run が開始された時刻の Unix Timestamp (秒) 。
</ResponseField>

<ResponseField name="step" type="int">
  次の `log()` 呼び出しの W\&B step。

  mode="shared" の run ではエラーが発生します。
</ResponseField>

<ResponseField name="sweep_id" type="str | None">
  run に関連付けられた sweep の識別子 (ある場合) 。
</ResponseField>

<ResponseField name="sweep_url" type="str | None">
  run に関連付けられた sweep の URL (ある場合) 。

  オフライン run には sweep URL がありません。
</ResponseField>

<ResponseField name="sync_dir" type="str">
  run のすべてのデータを含むディレクトリ。

  これを `wandb sync` に渡すと、run をアップロードまたは再アップロードできます。
</ResponseField>

<ResponseField name="tags" type="tuple | None">
  run に関連付けられたタグ (ある場合) 。
</ResponseField>

<ResponseField name="url" type="str | None">
  W\&B run の URL (ある場合) 。

  オフライン run には URL がありません。
</ResponseField>

<div id="methods">
  ## メソッド
</div>

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.alert()

```python theme={null}
self,
title: 'str',
text: 'str',
level: 'str | AlertLevel | None' = None,
wait_duration: 'int | float | timedelta | None' = None
```

指定されたタイトルとテキストでアラートを作成します。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="title" type="str">
  アラートのタイトル。64 文字未満である必要があります。
</ResponseField>

<ResponseField name="text" type="str">
  アラートの本文。
</ResponseField>

<ResponseField name="level" type="str | AlertLevel | None">
  使用するアラートレベル。`INFO`、`WARN`、`ERROR` のいずれかです。
</ResponseField>

<ResponseField name="wait_duration" type="int | float | timedelta | None">
  同じタイトルの次のアラートを送信するまでの待機時間 (秒) 。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.define\_metric()

```python theme={null}
self,
name: 'str',
step_metric: 'str | wandb_metric.Metric | None' = None,
step_sync: 'bool | None' = None,
hidden: 'bool | None' = None,
summary: 'str | None' = None,
overwrite: 'bool | None' = None
```

`wandb.Run.log()` でログするメトリクスをカスタマイズします。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="name" type="str">
  カスタマイズするメトリクスの名。
</ResponseField>

<ResponseField name="step_metric" type="str | wandb_metric.Metric | None">
  自動生成されるチャートで、このメトリクスの X 軸として使用する別のメトリクスの名。
</ResponseField>

<ResponseField name="step_sync" type="bool | None">
  明示的に指定されていない場合、step\_metric の最後の値を `wandb.Run.log()` に自動的に挿入します。step\_metric が指定されている場合、デフォルトは True です。
</ResponseField>

<ResponseField name="hidden" type="bool | None">
  このメトリクスを自動プロットから非表示にします。
</ResponseField>

<ResponseField name="summary" type="str | None">
  summary に追加する集約メトリクスを指定します。サポートされる集約には、"min"、"max"、"mean"、"last"、"first"、"copy"、"none" があります。"none" を指定すると summary は生成されません。"copy" は非推奨のため、使用しないでください。
</ResponseField>

<ResponseField name="overwrite" type="bool | None">
  false の場合、未指定のパラメーターには以前の値が使用され、この呼び出しは同じメトリクスに対する以前の `define_metric` 呼び出しとマージされます。true の場合、未指定のパラメーターによって以前の呼び出しで指定された値が上書きされます。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.display()

```python theme={null}
self,
height: 'int' = 420,
hidden: 'bool' = False
```

Jupyterでこの run を表示します。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="height" type="int">
  説明は提供されていません。
</ResponseField>

<ResponseField name="hidden" type="bool">
  説明は提供されていません。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.finish()

```python theme={null}
self,
exit_code: 'int | None' = None
```

run を終了し、残っているデータをアップロードします。

W\&B run の完了を記録し、すべてのデータがサーバーに Sync されるようにします。run の最終状態は、終了条件と Sync ステータスによって決まります。

run の状態:

* Running: データをログし、かつ/またはハートビートを送信しているアクティブな run。
* Crashed: ハートビートの送信が予期せず止まった run。
* Finished: すべてのデータが Sync され、正常に完了した run (`exit_code=0`) 。
* Failed: エラーにより完了した run (`exit_code!=0`) 。
* Killed: 完了前に強制的に停止された run。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="exit_code" type="int | None">
  run の終了ステータスを示す整数です。成功時は 0 を使用し、それ以外の値を指定すると run は失敗として扱われます。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.finish\_artifact()

```python theme={null}
self,
artifact_or_path: 'Artifact | str',
name: 'str | None' = None,
type: 'str | None' = None,
aliases: 'list[str] | None' = None,
distributed_id: 'str | None' = None
```

未確定の アーティファクト を run の出力として確定します。

同じ distributed ID を持つ後続の "upsert" では、新しいバージョンが作成されます。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="artifact_or_path" type="Artifact | str">
  この アーティファクト の内容へのパス。指定できる形式は次のとおりです:

  * `/local/directory`
  * `/local/directory/file.txt`
  * `s3://bucket/path`
    `wandb.Artifact` を呼び出して作成した Artifact オブジェクトを渡すこともできます。
</ResponseField>

<ResponseField name="name" type="str | None">
  アーティファクト 名。entity/プロジェクト を接頭辞として付けることもできます。
  有効な名前の形式は次のとおりです:

  * name:version
  * name:alias
  * digest
    指定しない場合、現在の run id を先頭に付けたパスの basename がデフォルトになります。
</ResponseField>

<ResponseField name="type" type="str | None">
  ログする アーティファクト のタイプ。例: `dataset`, `model`
</ResponseField>

<ResponseField name="aliases" type="list[str] | None">
  この アーティファクト に適用するエイリアス。デフォルトは `["latest"]` です
</ResponseField>

<ResponseField name="distributed_id" type="str | None">
  すべての分散ジョブで共有される一意の文字列。None の場合は、run の group 名がデフォルトになります。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.link\_artifact()

```python theme={null}
self,
artifact: 'Artifact',
target_path: 'str',
aliases: 'list[str] | None' = None
```

アーティファクトをコレクションにリンクします。

「link」という用語は、W\&B でアーティファクトが保存されている場所と、レジストリ内でそのアーティファクトにアクセスできる場所を結び付けるポインタを指します。アーティファクトをコレクションにリンクしても、W\&B がアーティファクトを複製することはありません。

指定したコレクションにリンクされたアーティファクトを Registry UI で表示します。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="artifact" type="Artifact">
  コレクションにリンクするアーティファクト オブジェクト。
</ResponseField>

<ResponseField name="target_path" type="str">
  コレクションのパスです。パスは、プレフィックス "wandb-registry-"、レジストリ名、およびコレクション名 `wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}` で構成されます。
</ResponseField>

<ResponseField name="aliases" type="list[str] | None">
  リンクしたアーティファクトに 1 つ以上のエイリアスを追加します。"latest" エイリアスは、リンクした最新のアーティファクトに自動的に適用されます。
</ResponseField>

<div id="examples">
  ##### 例
</div>

```python theme={null}
import wandb

entity = "team_entity"
project = "project_name"

artifact_name = "artifact_name"
artifact_type = "artifact_type"
local_path = "path/to/local/file"

registry_name = "registry_name"
collection_name = "collection_name"
target_path = f"wandb-registry-{registry_name}/{collection_name}"

with wandb.init(entity=entity, project=project) as run:
    # アーティファクト オブジェクトを作成します
    artifact = wandb.Artifact(name=artifact_name, type=artifact_type)

    # file をアーティファクト オブジェクトに追加します。
    artifact.add_file(local_path=local_path)

    # アーティファクト をコレクションにリンクします
    run.link_artifact(artifact=artifact, target_path=target_path)
```

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.link\_model()

```python theme={null}
self,
path: 'StrPath',
registered_model_name: 'str',
name: 'str | None' = None,
aliases: 'list[str] | None' = None
```

モデルアーティファクトのバージョンをログし、モデルレジストリ内の登録済みモデルにリンクします。

リンクされたモデルバージョンは、指定した登録済みモデルの UI で確認できます。

この method は次を行います:

* モデルアーティファクト 'name' がすでにログされているかどうかを確認します。ログされている場合は、'path' にあるファイルに一致するアーティファクトバージョンを使用するか、新しいバージョンをログします。ログされていない場合は、'path' 配下のファイルを、タイプ 'model' の新しいモデルアーティファクト 'name' としてログします。
* 'model-registry' プロジェクトに、'registered\_model\_name' という名の登録済みモデルが存在するかどうかを確認します。存在しない場合は、'registered\_model\_name' という名の新しい登録済みモデルを作成します。
* モデルアーティファクト 'name' のバージョンを、登録済みモデル 'registered\_model\_name' にリンクします。
* 'aliases' リストのエイリアスを、新たにリンクされたモデルアーティファクトバージョンに付与します。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="path" type="StrPath">
  (str) このモデルの内容へのパスです。次の形式を指定できます:

  * `/local/directory`
  * `/local/directory/file.txt`
  * `s3://bucket/path`
</ResponseField>

<ResponseField name="registered_model_name" type="str">
  モデルのリンク先となる登録済みモデルの名前です。登録済みモデルは、モデルレジストリにリンクされたモデルバージョンのコレクションで、通常はチーム固有の ML タスクを表します。この登録済みモデルが属する entity は run から導出されます。
</ResponseField>

<ResponseField name="name" type="str | None">
  'path' 内のファイルのログ先となるモデルアーティファクトの名前です。指定しない場合は、パスの basename の先頭に current run id を付けたものがデフォルトで使用されます。
</ResponseField>

<ResponseField name="aliases" type="list[str] | None">
  登録済みモデル内で、このリンクされたアーティファクトにのみ適用されるエイリアスです。エイリアス "latest" は、リンクされたアーティファクトの最新バージョンに常に適用されます。
</ResponseField>

<div id="raises">
  ##### 送出される例外
</div>

* `AssertionError`: registered\_model\_name がパスである場合、またはモデルアーティファクト 'name' のタイプに部分文字列 'model' が含まれていない場合。
* `ValueError`: name に無効な特殊文字が含まれている場合。

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.log()

```python theme={null}
self,
data: 'dict[str, Any]',
step: 'int | None' = None,
commit: 'bool | None' = None
```

run データをアップロードします。

スカラー、画像、動画、ヒストグラム、プロット、表などの run データをログするには、`log` を使用します。コードスニペット、ベストプラクティスなどについては、[オブジェクトとメディアをログする](https://docs.wandb.ai/models/track/log)を参照してください。

基本的な使用方法:

```python theme={null}
import wandb

with wandb.init() as run:
    run.log({"train-loss": 0.5, "accuracy": 0.9})
```

前のコードスニペットでは、損失と accuracy を run の history に保存し、これらのメトリクスの summary 値を更新します。

ログしたデータは、[wandb.ai](https://wandb.ai) の Workspace や、W\&B app の[セルフホスト インスタンス](https://docs.wandb.ai/platform/hosting)で可視化できます。あるいは、データをエクスポートして、Jupyter notebook などのローカル環境で [Public API](https://docs.wandb.ai/models/track/public-api-guide) を使用して可視化や探索を行うこともできます。

ログする値はスカラーである必要はありません。画像、オーディオ、video など、任意の [W\&B でサポートされる Data Type](https://docs.wandb.ai/models/ref/python/data-types) をログできます。たとえば、`wandb.Table` を使用して構造化データをログできます。詳しくは、[Log tables, visualize and query data](https://docs.wandb.ai/models/tables/tables-walkthrough) チュートリアルを参照してください。

W\&B は、名にスラッシュ (`/`) を含むメトリクスを、最後のスラッシュより前のテキストを名前とするセクションに整理します。たとえば、次のようにすると、"train" と "validate" という 2 つのセクションが作成されます。

```python theme={null}
with wandb.init() as run:
    # "train" セクションにメトリクスをログする。
    run.log(
        {
            "train/accuracy": 0.9,
            "train/loss": 30,
            "validate/accuracy": 0.8,
            "validate/loss": 20,
        }
    )
```

ネストは 1 レベルまでのみサポートされます。`run.log({"a/b/c": 1})` を実行すると、"a" という名前のセクションが作成されます。

`run.log()` は、1 秒間に数回を超えて呼び出す用途を想定していません。最適なパフォーマンスを得るには、N 回の反復ごとに 1 回だけログするか、複数回の反復でデータを収集して 1 つの step としてまとめてログしてください。

デフォルトでは、`log` を呼び出すたびに新しい "step" が作成されます。step は常に増加している必要があり、前の step にログすることはできません。チャートの X 軸には任意のメトリクスを使用できます。詳しくは [Custom log axes](https://docs.wandb.ai/models/track/log/customize-logging-axes) を参照してください。

多くの場合、W\&B の step は、トレーニング step というよりもタイムスタンプのように扱うほうが適切です。

```python theme={null}
with wandb.init() as run:
    # 例: X 軸として使用する "epoch" メトリクスをログする。
    run.log({"epoch": 40, "train-loss": 0.5})
```

`step` および `commit` パラメーターを使用すると、複数の `wandb.Run.log()` 呼び出しで同じ step にログできます。
以下はすべて同じ意味です。

```python theme={null}
with wandb.init() as run:
    # 通常の使用方法:
    run.log({"train-loss": 0.5, "accuracy": 0.8})
    run.log({"train-loss": 0.4, "accuracy": 0.9})

    # 自動インクリメントなしの暗黙的な step:
    run.log({"train-loss": 0.5}, commit=False)
    run.log({"accuracy": 0.8})
    run.log({"train-loss": 0.4}, commit=False)
    run.log({"accuracy": 0.9})

    # 明示的な step:
    run.log({"train-loss": 0.5}, step=current_step)
    run.log({"accuracy": 0.8}, step=current_step)
    current_step += 1
    run.log({"train-loss": 0.4}, step=current_step)
    run.log({"accuracy": 0.9}, step=current_step, commit=True)
```

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="data" type="dict[str, Any]">
  `str` キーと、`int`、`float`、`string`、任意の `wandb.data_types`、シリアライズ可能な Python オブジェクトのリスト、タプル、NumPy 配列、および同じ構造の他の `dict` を含む、シリアライズ可能な Python オブジェクトの値を持つ `dict` です。
</ResponseField>

<ResponseField name="step" type="int | None">
  ログする step 番号です。`None` の場合は、暗黙的に自動インクリメントされる step が使用されます。説明内のメモを参照してください。
</ResponseField>

<ResponseField name="commit" type="bool | None">
  true の場合は、step を確定してアップロードします。false の場合は、その step のデータを蓄積します。説明内のメモを参照してください。`step` が `None` の場合、デフォルトは `commit=True` です。それ以外の場合、デフォルトは `commit=False` です。
</ResponseField>

<div id="raises">
  ##### 送出される例外
</div>

* `wandb.Error`: `wandb.init()` より前に呼び出した場合。
* `ValueError`: 無効なデータが渡された場合。

<div id="examples">
  ##### 例
</div>

さらに多くの詳しい例については、[ログに関するガイド](https://docs.wandb.ai/models/track/log)を参照してください。

基本的な使用方法

```python theme={null}
import wandb

with wandb.init() as run:
    run.log({"train-loss": 0.5, "accuracy": 0.9
```

段階的なロギング

```python theme={null}
import wandb

with wandb.init() as run:
    run.log({"loss": 0.2}, commit=False)
    # この step を report する準備ができたら、別の箇所で:
    run.log({"accuracy": 0.8})
```

ヒストグラム

```python theme={null}
import numpy as np
import wandb

# 正規分布からランダムにgradientをサンプリングする
gradients = np.random.randn(100, 100)
with wandb.init() as run:
    run.log({"gradients": wandb.Histogram(gradients)})
```

NumPy から作成した画像

```python theme={null}
import numpy as np
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
        image = wandb.Image(pixels, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})
```

PIL の画像

```python theme={null}
import numpy as np
from PIL import Image as PILImage
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(
            low=0,
            high=256,
            size=(100, 100, 3),
            dtype=np.uint8,
        )
        pil_image = PILImage.fromarray(pixels, mode="RGB")
        image = wandb.Image(pil_image, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})
```

NumPy から作成した動画

```python theme={null}
import numpy as np
import wandb

with wandb.init() as run:
    # 軸は (time, channel, height, width)
    frames = np.random.randint(
        low=0,
        high=256,
        size=(10, 3, 100, 100),
        dtype=np.uint8,
    )
    run.log({"video": wandb.Video(frames, format="mp4", fps=4)})
```

Matplotlib のプロット

```python theme={null}
from matplotlib import pyplot as plt
import numpy as np
import wandb

with wandb.init() as run:
    fig, ax = plt.subplots()
    x = np.linspace(0, 10)
    y = x * x
    ax.plot(x, y)  # y = x^2 をプロット
    run.log({"chart": fig})
```

PR曲線

```python theme={null}
import wandb

with wandb.init() as run:
    run.log({"pr": wandb.plot.pr_curve(y_test, y_probas, labels)})
```

3D オブジェクト

```python theme={null}
import wandb

with wandb.init() as run:
    run.log(
        {
            "generated_samples": [
                wandb.Object3D(open("sample.obj")),
                wandb.Object3D(open("sample.gltf")),
                wandb.Object3D(open("sample.glb")),
            ]
        }
    )
```

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.log\_artifact()

```python theme={null}
self,
artifact_or_path: 'Artifact | StrPath',
name: 'str | None' = None,
type: 'str | None' = None,
aliases: 'list[str] | None' = None,
tags: 'list[str] | None' = None
```

アーティファクト を run の出力として宣言します。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="artifact_or_path" type="Artifact | StrPath">
  (str または Artifact) この アーティファクト の内容へのパス。
  指定できる形式は次のとおりです:

  * `/local/directory`
  * `/local/directory/file.txt`
  * `s3://bucket/path`
    `wandb.Artifact` を呼び出して作成した
    Artifact オブジェクトを渡すこともできます。
</ResponseField>

<ResponseField name="name" type="str | None">
  (str, 任意) アーティファクト 名。指定できる名前の形式は次のとおりです:

  * name:version
  * name:alias
  * digest
    指定しない場合は、現在の
    run ID を先頭に付けたパスの basename がデフォルトになります。
</ResponseField>

<ResponseField name="type" type="str | None">
  (str) ログする アーティファクト のタイプ。`dataset`、`model` などがあります
</ResponseField>

<ResponseField name="aliases" type="list[str] | None">
  (list, 任意) この アーティファクト に適用するエイリアス。デフォルトは `["latest"]` です
</ResponseField>

<ResponseField name="tags" type="list[str] | None">
  (list, 任意) この アーティファクト に適用するタグ (存在する場合) 。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">method</Badge> Run.log\_code()

```python theme={null}
self,
root: 'str | None' = '.',
name: 'str | None' = None,
include_fn: 'Callable[[str, str], bool] | Callable[[str], bool]' = _is_py_requirements_or_dockerfile,
exclude_fn: 'Callable[[str, str], bool] | Callable[[str], bool]' = exclude_wandb_fn
```

コードの現在の状態を W\&B アーティファクト に保存します。

デフォルトでは、現在のディレクトリを走査し、`.py` で終わるすべてのファイルをログします。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="root" type="str | None">
  コードを再帰的に検索する起点となる、`os.getcwd()` からの相対パスまたは絶対パス。
</ResponseField>

<ResponseField name="name" type="str | None">
  (str, optional) コード アーティファクト の名。デフォルトでは、アーティファクト 名は `source-$PROJECT_ID-$ENTRYPOINT_RELPATH` になります。複数の run で同じ アーティファクト を共有したい場合があります。`name` を指定すると、それが可能になります。
</ResponseField>

<ResponseField name="include_fn" type="Callable[[str, str], bool] | Callable[[str], bool]">
  ファイルパスと (必要に応じて) ルートパスを受け取り、含める場合は True、そうでない場合は False を返す callable。デフォルトは `lambda path, root: path.endswith(".py")` です。
</ResponseField>

<ResponseField name="exclude_fn" type="Callable[[str, str], bool] | Callable[[str], bool]">
  ファイルパスと (必要に応じて) ルートパスを受け取り、除外する場合は `True`、そうでない場合は `False` を返す callable。デフォルトでは、`<root>/.wandb/` および `<root>/wandb/` ディレクトリ内のすべてのファイルを除外する関数です。
</ResponseField>

<div id="examples">
  ##### 例
</div>

基本的な使い方

```python theme={null}
import wandb

with wandb.init() as run:
    run.log_code()
```

応用的な使い方

```python theme={null}
import wandb

with wandb.init() as run:
    run.log_code(
        root="../",
        include_fn=lambda path: path.endswith(".py") or path.endswith(".ipynb"),
        exclude_fn=lambda path, root: os.path.relpath(path, root).startswith(
            "cache/"
        ),
    )
```

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.log\_model()

```python theme={null}
self,
path: 'StrPath',
name: 'str | None' = None,
aliases: 'list[str] | None' = None
```

`path` 内の内容を含むモデルアーティファクトを run にログし、この run の出力としてマークします。

モデルアーティファクトの名前に使用できるのは、英数字、アンダースコア、ハイフンのみです。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="path" type="StrPath">
  (str) このモデルの内容へのパスです。
  次の形式を使用できます:

  * `/local/directory`
  * `/local/directory/file.txt`
  * `s3://bucket/path`
</ResponseField>

<ResponseField name="name" type="str | None">
  ファイルの内容を追加するモデルアーティファクトに割り当てる名前です。指定しない場合は、path の basename の先頭に現在の run ID を付けたものがデフォルトになります。
</ResponseField>

<ResponseField name="aliases" type="list[str] | None">
  作成されたモデルアーティファクトに適用するエイリアスです。デフォルトは `["latest"]` です
</ResponseField>

<div id="raises">
  ##### 送出される例外
</div>

* `ValueError`: name に無効な特殊文字が含まれている場合。

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.mark\_preempting()

```python theme={null}
self
```

この run をプリエンプト中としてマークします。

また、内部プロセスに対して、これを直ちにサーバーへ報告するよう指示します。

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.pin\_config\_keys()

```python theme={null}
self,
keys: 'Sequence[str]' = ()
```

Run Overview の References セクションに表示する設定キーをピン留めします。

ピン留めしたキーは、Run Overview ページのメモの上に目立つ形で表示されます。
文字列値は markdown としてレンダリングされ、文字列以外の値は
プレーンテキストとしてレンダリングされます。これを再度呼び出すと、以前ピン留めしたリストは置き換えられます。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="keys" type="Sequence[str]">
  ピン留めする設定キー名です。`run.config` で設定したキーと一致している必要があります。これらは完全一致のキー文字列で、ドットやスラッシュはパス区切り文字ではなく、文字どおりに扱われます。順序は保持され、その順序が表示順になります。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.restore()

```python theme={null}
self,
name: 'str',
run_path: 'str | None' = None,
replace: 'bool' = False,
root: 'str | None' = None
```

指定したファイルをクラウドストレージからダウンロードします。

ファイルは現在のディレクトリまたは run ディレクトリに保存されます。
デフォルトでは、ファイルがまだ存在しない場合にのみダウンロードされます。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="name" type="str">
  ファイルの名。
</ResponseField>

<ResponseField name="run_path" type="str | None">
  ファイルの取得元となる run へのオプションのパス。例: `username/project_name/run_id`。`wandb.init` が呼び出されていない場合は必須です。
</ResponseField>

<ResponseField name="replace" type="bool">
  ローカルにすでに存在する場合でもファイルをダウンロードするかどうか
</ResponseField>

<ResponseField name="root" type="str | None">
  ファイルのダウンロード先ディレクトリ。デフォルトでは現在のディレクトリ、または `wandb.init` が呼び出されている場合は run ディレクトリです。
</ResponseField>

<div id="raises">
  ##### 送出される例外
</div>

* `CommError`: W\&B が W\&B バックエンドに接続できない場合。
* `ValueError`: ファイルが見つからない場合、または run\_path が見つからない場合。

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.save()

```python theme={null}
self,
glob_str: 'str | os.PathLike',
base_path: 'str | os.PathLike | None' = None,
policy: 'PolicyName' = 'live',
glob: 'bool' = True
```

1 つ以上のファイルを W\&B に Sync します。

相対パスは、現在の作業ディレクトリからの相対パスです。

"myfiles/\*" のような Unix glob は、`policy` に関係なく、`save` が
呼び出された時点で展開されます。特に、新しいファイルが自動的に自動反映されることはありません。

`glob_str` は Python の `glob` モジュールを使用して展開されます。正確な構文と
動作については、
[https://docs.python.org/3/library/glob.html](https://docs.python.org/3/library/glob.html) を参照してください。
特に、文字 `*`、`?`、`[]` は、実際のファイル名
(例: "myfile\[1].txt") に含まれている場合でも、リテラル文字ではなく
glob のメタ文字として扱われます。ファイル名にこれらの文字が
含まれていて、パターンではなく文字どおりに一致させたい
場合は、`save` を呼び出す前に `glob.escape()` で自分で
エスケープするか、`glob=False` を渡してパターン展開を
完全に無効にし、`glob_str` をリテラルパスとして扱ってください。

アップロードされるファイルのディレクトリ構造を制御するために、`base_path` を指定できます。これは `glob_str` のプレフィックスである必要があり、その配下のディレクトリ構造は保持されます。

絶対パスまたは glob が指定され、`base_path` がない場合は、上記の例のように 1 階層分のディレクトリが保持されます。

ファイルは自動的に重複排除されます。同じファイルを変更せずに `save()` を複数回
呼び出しても、再アップロードされません。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="glob_str" type="str | os.PathLike">
  相対パス、絶対パス、または Unix glob。
</ResponseField>

<ResponseField name="base_path" type="str | os.PathLike | None">
  ディレクトリ構造の推定に使用するパス。例を参照してください。
</ResponseField>

<ResponseField name="policy" type="PolicyName">
  `live`、`now`、`end` のいずれかです。

  * live: ファイルが変更されるたびにアップロードし、前のバージョンを上書きします
  * now: 今すぐ 1 回だけファイルをアップロードします
  * end: run の終了時にファイルをアップロードします
</ResponseField>

<ResponseField name="glob" type="bool">
  `glob_str` を glob パターンとして扱うかどうか。後方互換性のため、デフォルトでは `True` です。`glob_str` の名前に `[`、`]`、`*`、`?` などの glob メタ文字が含まれており、それらをパターンとして解釈したくない場合は、`False` に設定して `glob_str` をリテラルパスとして扱います。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.status()

```python theme={null}
self
```

内部バックエンドから、現在のrunのSyncステータス情報を取得します。

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.unwatch()

```python theme={null}
self,
models: 'torch.nn.Module | Sequence[torch.nn.Module] | None' = None
```

pytorch モデルのトポロジー、勾配、パラメーターのフックを削除します。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="models" type="torch.nn.Module | Sequence[torch.nn.Module] | None">
  watch が呼び出されている pytorch モデルの任意のリスト。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.upsert\_artifact()

```python theme={null}
self,
artifact_or_path: 'Artifact | str',
name: 'str | None' = None,
type: 'str | None' = None,
aliases: 'list[str] | None' = None,
distributed_id: 'str | None' = None
```

run の出力として、未確定の アーティファクト を宣言する (または追加する) 。

アーティファクト を確定するには、`run.finish&#95;artifact()` を呼び出す必要があることに注意してください。
これは、分散ジョブのすべてが同じ アーティファクト に書き込む必要がある場合に便利です。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="artifact_or_path" type="Artifact | str">
  この アーティファクト の内容へのパス。次の形式を指定できます。

  * `/local/directory`
  * `/local/directory/file.txt`
  * `s3://bucket/path`
</ResponseField>

<ResponseField name="name" type="str | None">
  アーティファクト 名。`entity/プロジェクト` を接頭辞として付けることができます。指定しない場合、パスの basename の先頭に現在の run ID を付けたものがデフォルトになります。有効な名は次の形式です。

  * name:version
  * name:alias
  * digest
</ResponseField>

<ResponseField name="type" type="str | None">
  ログする アーティファクト のタイプ。一般的な例としては `dataset`、`model` があります。
</ResponseField>

<ResponseField name="aliases" type="list[str] | None">
  この アーティファクト に適用するエイリアス。デフォルトは `["latest"]` です。
</ResponseField>

<ResponseField name="distributed_id" type="str | None">
  すべての分散ジョブで共有する一意の文字列です。None の場合、run のグループ名がデフォルトになります。
</ResponseField>

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.use\_artifact()

```python theme={null}
self,
artifact_or_name: 'str | Artifact',
type: 'str | None' = None,
aliases: 'list[str] | None' = None,
use_as: 'str | None' = None
```

アーティファクト を run への入力として宣言します。

返されたオブジェクトに対して `download` または `file` を呼び出すと、内容をローカルに取得できます。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="artifact_or_name" type="str | Artifact">
  使用する アーティファクト の名前。アーティファクト がログされたプロジェクト名
  ("entity" または "entity/project") を接頭辞として付けることもできます。名前に
  entity が指定されていない場合は、Run または API 設定の entity が使用されます。
  有効な名前は次の形式です

  * name:version
  * name:alias
</ResponseField>

<ResponseField name="type" type="str | None">
  使用する アーティファクト のタイプ。
</ResponseField>

<ResponseField name="aliases" type="list[str] | None">
  この アーティファクト に適用するエイリアス。
</ResponseField>

<ResponseField name="use_as" type="str | None">
  この引数は非推奨で、何も行いません。
</ResponseField>

<div id="examples">
  ##### 例
</div>

```python theme={null}
import wandb

run = wandb.init(project="<example>")

# 名前とエイリアスでアーティファクトを使用する
artifact_a = run.use_artifact(artifact_or_name="<name>:<alias>")

# 名前とバージョンでアーティファクトを使用する
artifact_b = run.use_artifact(artifact_or_name="<name>:v<version>")

# entity/project/name:alias でアーティファクトを使用する
artifact_c = run.use_artifact(
    artifact_or_name="<entity>/<project>/<name>:<alias>"
)

# entity/project/name:version でアーティファクトを使用する
artifact_d = run.use_artifact(
    artifact_or_name="<entity>/<project>/<name>:v<version>"
)

# コンテキストマネージャーを使用していないため、明示的に run を終了する。
run.finish()
```

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.use\_model()

```python theme={null}
self,
name: 'str'
```

モデル アーティファクト `name` にログされたファイルをダウンロードします。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="name" type="str">
  モデル アーティファクト の名です。'name' は、既存のログ済み
  モデル アーティファクト の名と一致している必要があります。`entity/プロジェクト/` をプレフィックスとして付けることもできます。有効な名は
  次の形式です

  * model\_artifact\_name:version
  * model\_artifact\_name:alias
</ResponseField>

<div id="raises">
  ##### 送出される例外
</div>

* `AssertionError`: モデル アーティファクト `name` のタイプに部分文字列 `model` が含まれていない場合。

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.watch()

```python theme={null}
self,
models: 'torch.nn.Module | Sequence[torch.nn.Module]',
criterion: 'torch.F | None' = None,
log: "Literal['gradients', 'parameters', 'all'] | None" = 'gradients',
log_freq: 'int' = 1000,
idx: 'int | None' = None,
log_graph: 'bool' = False
```

指定された PyTorch モデルにフックを設定し、勾配とモデルの計算グラフを監視します。

この関数では、トレーニング中にパラメーター、勾配、またはその両方をトラッキングできます。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="models" type="torch.nn.Module | Sequence[torch.nn.Module]">
  モニターする単一のモデル、またはモデルのシーケンスです。
</ResponseField>

<ResponseField name="criterion" type="torch.F | None">
  最適化対象の損失関数 (任意) 。
</ResponseField>

<ResponseField name="log" type="Literal['gradients', 'parameters', 'all'] | None">
  ログする対象として "gradients"、"parameters"、または "all" を指定します。ログを無効にするには None に設定します。 (デフォルト="gradients")
</ResponseField>

<ResponseField name="log_freq" type="int">
  勾配とパラメーターをログする頻度 (バッチ単位) 。 (デフォルト=1000)
</ResponseField>

<ResponseField name="idx" type="int | None">
  `wandb.watch` で複数のモデルをトラッキングする際に使用するインデックス。 (デフォルト=None)
</ResponseField>

<ResponseField name="log_graph" type="bool">
  モデルの計算グラフをログするかどうか。 (デフォルト=False)
</ResponseField>

<div id="raises">
  ##### 送出される例外
</div>

* `ValueError`: `wandb.init()` が呼び出されていない場合、またはいずれかのモデルが `torch.nn.Module` のインスタンスではない場合。

### <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.write\_logs()

```python theme={null}
self,
text: 'str'
```

run の Logs タブにテキストを書き込みます。

stdout/stderr の自動取得に依存せず、`write_logs` を使用して Logs タブに直接テキストを書き込みます。run の終了後にこのメソッドを呼び出しても、何も通知されずに無視されます。

Python の `logging` モジュールと連携する `capture_loggers` 設定の使用を検討してください。

<div id="arguments">
  ##### 引数
</div>

<ResponseField name="text" type="str">
  書き込むテキストです。末尾に改行がない場合は、改行が追加されます。
</ResponseField>
