> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/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 ? "View source" : <>
    <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 source
      </>}
  </a>;

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

<h2 id="class-wandbrun">
  <Badge color="yellow" size="lg" shape="rounded">クラス</Badge> wandb.Run
</h2>

W\&B によってログされる計算の単位です。通常は ML 実験を指します。

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

分散トレーニングの実験では、プロセスごとに 1 つの run を使用して
各プロセスを個別にトラッキングするか、すべてのプロセスを単一の run にトラッキングできます。
詳しくは、[分散トレーニングの実験をログする](/ja/products/wandb/track/log/distributed-training)
を参照してください。

`wandb.Run.log()` を使用して run にデータをログできます。
`wandb.Run.log()` を使用してログしたすべてのデータは、その run に送信されます。
詳しくは、[実験を作成する](/ja/products/wandb/track/create-an-experiment) または
[`wandb.init`](/ja/products/wandb/ref/python/functions/init) の API リファレンスページ
を参照してください。

別の `Run` オブジェクトが
[`wandb.apis.public`](/ja/products/wandb/ref/python/public-api/api)
namespace にあります。このオブジェクトを使用して、すでに作成された run を
操作します。

<h2 id="attributes">
  属性
</h2>

* `summary`: (Summary) run のサマリーで、辞書のようなオブジェクトです。詳細は、[サマリー メトリクスをログする](/ja/products/wandb/track/log/log-summary)を参照してください。

<h2 id="examples">
  サンプル
</h2>

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

```python theme={"system"}
import wandb

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

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

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

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

<ResponseField name="dir" type="str">
  run のファイルが保存されるディレクトリです。

  `run.save()` で保存されたファイルを指し、`run.log()` に渡された特定のデータタイプに対して
  自動的に作成されるファイルも含まれます。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 に関連付けられたグループ名を返します。

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

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

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

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

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

  これを使用して、run を "training"、"evaluation"、"inference" などの
  ジョブタイプで分類できます。W\&B UI で run を整理したり
  フィルター処理したりする際に役立ちます。特に、同じ project に
  異なるジョブタイプの run が複数ある場合に便利です。詳細については、
  [run の整理](/ja/products/wandb/runs#organize-runs)を参照してください。
</ResponseField>

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

  表示名は一意であるとは限らず、内容を説明する名前にすることもできます。
  デフォルトでは、ランダムに生成されます。
</ResponseField>

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

  メモには複数行の文字列を使用でき、Markdown や、
  `$x + 3$` のように `$$` 内に 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 タイムスタンプ (秒単位) です。
</ResponseField>

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

  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>

<h2 id="methods">
  メソッド
</h2>

<h3 id="method-runalert">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.alert()
</h3>

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

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

<h5 id="arguments">
  引数
</h5>

<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>

<h3 id="method-rundefine_metric">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.define\_metric()
</h3>

```python theme={"system"}
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()` でログするメトリクスをカスタマイズします。

<h5 id="arguments-2">
  引数
</h5>

<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>

<h3 id="method-rundisplay">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.display()
</h3>

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

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

<h5 id="arguments-3">
  引数
</h5>

<ResponseField name="height" type="int">
  説明はありません。
</ResponseField>

<ResponseField name="hidden" type="bool">
  説明はありません。
</ResponseField>

<h3 id="method-runfinish">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.finish()
</h3>

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

run を終了し、残りのデータをアップロードします。

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

run の状態:

* Running: データをログしている、またはハートビートを送信している実行中の run。
* Crashed: ハートビートの送信が予期せず停止した run。
* Finished: 正常に完了し (`exit_code=0`) 、すべてのデータが同期された run。
* Failed: エラーで完了した run (`exit_code!=0`) 。
* Killed: 完了する前に強制停止された run。

<h5 id="arguments-4">
  引数
</h5>

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

<h3 id="method-runfinish_artifact">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.finish\_artifact()
</h3>

```python theme={"system"}
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 の出力として確定します。

その後、同じ分散 ID で "upserts" を行うと、新しいバージョンが作成されます。

<h5 id="arguments-5">
  引数
</h5>

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

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

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

  * name:version
  * name:alias
  * digest
    指定しない場合、デフォルトではパスの basename の先頭に現在の
    run ID を付けたものになります。
</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">
  すべての分散ジョブが共有する一意の string です。None の場合、デフォルトは run のグループ名です。
</ResponseField>

<h3 id="method-runlink_artifact">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.link\_artifact()
</h3>

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

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

「link」という用語は、W\&B がアーティファクトを保存する場所と、
アーティファクトが Registry でアクセス可能になる場所を接続するポインターを指します。W\&B は、
アーティファクトをコレクションにリンクする際にアーティファクトを複製しません。

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

<h5 id="arguments-6">
  引数
</h5>

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

<ResponseField name="target_path" type="str">
  コレクションのパスです。パスは、接頭辞 "wandb-registry-" とRegistry名、コレクション名で構成されます：`wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}`。
</ResponseField>

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

<h5 id="examples-2">
  サンプル
</h5>

```python theme={"system"}
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)
```

<h3 id="method-runlink_model">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.link\_model()
</h3>

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

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

リンクされたモデルのバージョンは、指定された登録済みモデルの UI に表示されます。

このメソッドは次の処理を行います。

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

<h5 id="arguments-7">
  引数
</h5>

<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 の先頭に現在の run ID を付けたものになります。
</ResponseField>

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

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

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

<h3 id="method-runlog">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.log()
</h3>

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

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

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

基本的な使用方法:

```python theme={"system"}
import wandb

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

前のコードスニペットは、損失と精度を run の
履歴に保存し、これらのメトリクスのサマリー値を更新します。

ログしたデータは、[wandb.ai](https://wandb.ai) の Workspace で可視化できます。
また、W\&B アプリの[セルフホストインスタンス](/ja/products/wandb/platform/hosting)
上でローカルに可視化することも、[Public API](/ja/products/wandb/track/public-api-guide) を使用してデータをエクスポートし、
Jupyter ノートブックなどでローカルに可視化・探索することもできます。

ログされた値はスカラーでなくてもかまいません。画像、オーディオ、動画など、
[W\&B でサポートされるデータタイプ](/ja/products/wandb/ref/python/data-types)
であれば何でもログできます。たとえば、
`wandb.Table` を使用して構造化データをログできます。詳細については、
[表をログし、データを可視化してクエリする](/ja/products/wandb/tables/tables-walkthrough)
チュートリアルを参照してください。

名前にスラッシュ (`/`) を含むメトリクスは、W\&B によって
最後のスラッシュより前のテキストを名前とするセクションにまとめられます。たとえば、
次のコードでは「train」と「validate」という 2 つのセクションが作成されます。

```python theme={"system"}
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回に制限するか、
複数回の反復処理でデータを収集し、単一のステップでログしてください。

デフォルトでは、`log` を呼び出すたびに新しい "ステップ" が作成されます。
ステップ は常に増加する必要があり、過去の ステップ にログする
ことはできません。チャートの X 軸には任意のメトリクスを使用できます。
詳細については、[ログ軸のカスタマイズ](/ja/products/wandb/track/log/customize-logging-axes)
を参照してください。

多くの場合、W\&B の ステップ はトレーニングステップではなく、
タイムスタンプとして扱う方が適切です。

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

`step` パラメーターと `commit` パラメーターを使用すると、`wandb.Run.log()` の複数回の invocation で同じ ステップ にログすることができます。
以下はすべて同等です。

```python theme={"system"}
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)
```

<h5 id="arguments-8">
  引数
</h5>

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

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

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

<h5 id="raises-2">
  送出される例外
</h5>

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

<h5 id="examples-3">
  サンプル
</h5>

より多くの詳細なサンプルについては、
[ログするためのガイド](/ja/products/wandb/track/log)を参照してください。

基本的な使い方

```python theme={"system"}
import wandb

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

段階的にログする

```python theme={"system"}
import wandb

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

ヒストグラム

```python theme={"system"}
import numpy as np
import wandb

# 正規分布から勾配を無作為にサンプリングします
gradients = np.random.randn(100, 100)
with wandb.init() as run:
    run.log({"gradients": wandb.Histogram(gradients)})
```

NumPy からの画像

```python theme={"system"}
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={"system"}
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={"system"}
import numpy as np
import wandb

with wandb.init() as run:
    # 軸は（時間、チャンネル、高さ、幅）です
    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={"system"}
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={"system"}
import wandb

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

3D オブジェクト

```python theme={"system"}
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")),
            ]
        }
    )
```

<h3 id="method-runlog_artifact">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.log\_artifact()
</h3>

```python theme={"system"}
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 の出力として宣言します。

<h5 id="arguments-9">
  引数
</h5>

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

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

<ResponseField name="name" type="str | None">
  (str, optional) アーティファクト名です。有効なアーティファクト名の形式は次のとおりです。

  * name:version
  * name:alias
  * digest
    指定しない場合、デフォルトではパスの basename の先頭に現在の
    run ID を付加したアーティファクト名になります。
</ResponseField>

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

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

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

<h3 id="method-runlog_code">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.log\_code()
</h3>

```python theme={"system"}
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` で終わるすべてのファイルをログします。

<h5 id="arguments-10">
  引数
</h5>

<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>

<h5 id="examples-4">
  サンプル
</h5>

基本的な使い方

```python theme={"system"}
import wandb

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

高度な使い方

```python theme={"system"}
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/"
        ),
    )
```

<h3 id="method-runlog_model">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.log\_model()
</h3>

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

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

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

<h5 id="arguments-11">
  引数
</h5>

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

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

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

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

<h5 id="raises-3">
  送出される例外
</h5>

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

<h3 id="method-runmark_preempting">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.mark\_preempting()
</h3>

```python theme={"system"}
self
```

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

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

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

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

設定キーをピン留めして、run 概要の参照セクションに表示します。

ピン留めされたキーは、run 概要ページのメモの上に目立つように表示されます。
string 値は Markdown としてレンダリングされ、string 以外の値は
プレーンテキストとしてレンダリングされます。再度呼び出すと、以前ピン留めしたリストが置き換えられます。

<h5 id="arguments-12">
  引数
</h5>

<ResponseField name="keys" type="Sequence[str]">
  設定キー名をピン留めします。`run.config` を介して設定された 設定キー に一致します。これらは正確な 設定キー strings です (ドットとスラッシュはパス区切り文字ではなく、リテラルとして扱われます) 。順序は保持され、表示順序を決定します。
</ResponseField>

<h3 id="method-runrestore">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.restore()
</h3>

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

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

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

<h5 id="arguments-13">
  引数
</h5>

<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>

<h5 id="raises-4">
  送出される例外
</h5>

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

<h3 id="method-runsave">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.save()
</h3>

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

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

相対パスは、現在の作業ディレクトリを基準とします。

"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()` を複数回
呼び出しても、再アップロードされません。

<h5 id="arguments-14">
  引数
</h5>

<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` をリテラルパスとして扱う場合は `False` に設定してください。たとえば、ファイル名に `[`、`]`、`*`、または `?` などの glob メタ文字が含まれていて、パターンとして解釈してほしくない場合に使用します。
</ResponseField>

<h3 id="method-runstatus">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.status()
</h3>

```python theme={"system"}
self
```

現在の run の同期ステータスに関する同期情報を内部バックエンドから取得します。

<h3 id="method-rununwatch">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.unwatch()
</h3>

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

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

<h5 id="arguments-15">
  引数
</h5>

<ResponseField name="models" type="torch.nn.Module | Sequence[torch.nn.Module] | None">
  watch が呼び出された pytorch モデルのリストです。省略可能です。
</ResponseField>

<h3 id="method-runupsert_artifact">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.upsert\_artifact()
</h3>

```python theme={"system"}
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\_artifact() を呼び出す必要があります。
分散ジョブがすべて同じアーティファクトに貢献する必要がある場合に便利です。

<h5 id="arguments-16">
  引数
</h5>

<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/project" で接頭辞を付けることができます。指定されていない場合、現在の run ID を先頭に付けたパスの basename にデフォルト設定されます。有効な名前は以下の形式で指定できます:

  * 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">
  分散ジョブがすべて共有する一意の string。None の場合、run のグループ名にデフォルト設定されます。
</ResponseField>

<h3 id="method-runuse_artifact">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.use\_artifact()
</h3>

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

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

返されたオブジェクトに対して `download` または `file` を呼び出して、ローカルにコンテンツを取得します。

<h5 id="arguments-17">
  引数
</h5>

<ResponseField name="artifact_or_name" type="str | Artifact">
  使用するアーティファクトの名。ログされた project の名で接頭辞を付けることができます
  ("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>

<h5 id="examples-5">
  サンプル
</h5>

```python theme={"system"}
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 を明示的に finish する。
run.finish()
```

<h3 id="method-runuse_model">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.use\_model()
</h3>

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

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

<h5 id="arguments-18">
  引数
</h5>

<ResponseField name="name" type="str">
  モデル アーティファクトの名。'name' は既存のログした
  モデル アーティファクトの名と一致する必要があります。`entity/project/` を接頭辞として付けることができます。有効な名は
  以下の形式になります

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

<h5 id="raises-5">
  送出される例外
</h5>

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

<h3 id="method-runwatch">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.watch()
</h3>

```python theme={"system"}
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 モデルにフックを追加して、勾配とモデルの計算グラフを監視します。

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

<h5 id="arguments-19">
  引数
</h5>

<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>

<h5 id="raises-6">
  送出される例外
</h5>

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

<h3 id="method-runwrite_logs">
  <Badge color="blue" size="lg" shape="rounded">メソッド</Badge> Run.write\_logs()
</h3>

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

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

`write_logs` を使用して、自動的な stdout/stderr の取得に頼る代わりに Logs タブに直接テキストを書き込みます。run が finished になった後の Call は無視される。

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

<h5 id="arguments-20">
  引数
</h5>

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


## Related topics

- [run](/ja/products/wandb/ref/query-panel/run.md)
