メインコンテンツへスキップ
GitHub ソース

class Run

entity とプロジェクトに関連付けられた単一の run。

method Run.__init__

__init__(
    client: 'RetryingClient',
    entity: 'str',
    project: 'str',
    run_id: 'str',
    attrs: 'Mapping | None' = None,
    include_sweeps: 'bool' = True,
    lazy: 'bool' = True,
    api: 'public.Api | None' = None
)
引数:
  • client: W&B API クライアント。
  • entity: run に関連付けられたエンティティ。
  • project: run に関連付けられたプロジェクト。
  • run_id: run の一意の識別子。
  • attrs: run の属性。
  • include_sweeps: run に Sweeps を含めるかどうか。
属性:
  • tags ([str]): run に関連付けられたタグのリスト
  • url (str): この run の URL
  • id (str): run の一意の識別子(デフォルトは 8 文字)
  • name (str): run の名前
  • state (str): 次のいずれか: running, finished, crashed, killed, preempting, preempted
  • config (dict): run に関連付けられたハイパーパラメータの dict
  • created_at (str): run が開始されたときの ISO タイムスタンプ
  • system_metrics (dict): run について記録された最新のシステムメトリクス
  • summary (dict): 現在のサマリーを保持する変更可能な dict ライクなプロパティ。update を呼び出すと変更が永続化されます。
  • project (str): run に関連付けられたプロジェクト
  • entity (str): run に関連付けられたエンティティ名
  • project_internal_id (int): プロジェクトの内部 ID
  • user (str): run を作成したユーザーの名前
  • path (str): 一意の識別子 [entity]/[project]/[run_id]
  • notes (str): run に関するメモ
  • read_only (boolean): run が編集可能かどうか
  • history_keys (str): wandb.Run.log({"key": "value"}) でログされた履歴メトリクスキー
  • metadata (str): wandb-metadata.json に含まれる run に関するメタデータ
Run オブジェクトを初期化します。 Run は、wandb.Api のインスタンスである api に対して api.runs() を呼び出すことで常に初期化されます。

property Run.config

run の config を取得します。レイジーモードの場合は、自動的にすべてのデータを読み込みます。 戻り値:
  • dict[str, Any]: config プロパティの値。

property Run.entity

この run に関連付けられている entity。 戻り値:
  • str: entity プロパティの値。

property Run.id

この run の一意の識別子。 Returns:
  • str: id プロパティの値。

property Run.lastHistoryStep

run の history に記録された最後のステップを返します。 Returns:
  • int: lastHistoryStep プロパティの値。

property Run.metadata

wandb-metadata.json に記録された run に関するメタデータ。 メタデータには、run の説明、タグ、開始時刻、メモリ使用量などが含まれます。 戻り値:
  • dict[str, Any] | None: metadata プロパティの値。

property Run.name

run の名前です。 戻り値:
  • str | None: name プロパティの値。

property Run.path

run のパスです。パスは entity、プロジェクト、run_id を含むリストです。 戻り値:
  • list[str]: path プロパティの値。

property Run.rawconfig

内部キーを含む生の run 設定を取得します。遅延読み込みモードの場合は、自動的に完全なデータをロードします。 戻り値:
  • dict[str, Any]: rawconfig プロパティの値。

property Run.state

run の状態。FinishedFailedCrashedRunning のいずれか。 戻り値:
  • str: state プロパティの値。

property Run.storage_id

run の一意のストレージ識別子。 戻り値:
  • str: storage_id プロパティの値。

property Run.summary

run のサマリーメトリクスを取得します。lazy モードの場合は、完全なデータを自動的にロードします。 戻り値:
  • HTTPSummary: summary プロパティの値。

property Run.summary_metrics

run のサマリーメトリクスを取得します。lazy モードの場合は、自動的にすべてのデータを読み込みます。 Returns:
  • dict[str, Any]: summary_metrics プロパティの値。

property Run.sweep_name

スイープ名を取得します。sweepName は lightweight フラグメントに含まれているため、常に利用できます。 戻り値:
  • str | None: sweep_name プロパティの値。

property Run.system_metrics

この run のシステムメトリクスを取得します。レイジーモードの場合は自動的にすべてのデータを読み込みます。 戻り値:
  • dict[str, Any]: system_metrics プロパティの値。

property Run.url

run の URL です。 run の URL は entity、project、run_id から生成されます。SaaS ユーザーの場合、https://wandb.ai/entity/project/run_id の形式になります。 戻り値:
  • str: url プロパティの値。

property Run.username

この API は非推奨です。代わりに entity を使用してください。 戻り値:
  • str: username プロパティの値。

method Run.beta_scan_history

beta_scan_history(
    keys: 'list[str] | None' = None,
    page_size: 'int' = 1000,
    min_step: 'int' = 0,
    max_step: 'int | None' = None,
    use_cache: 'bool' = True
) → public.BetaHistoryScan
run のすべての履歴レコードに対する反復処理可能なコレクションを返します。 この関数はまだ開発中のため、期待どおりに動作しない可能性があります。run のエクスポート済み parquet 履歴をローカルで読み取るために wandb-core を使用します。 Args:
  • keys: run の履歴から読み取るメトリクスのリスト。keys が指定されない場合は、すべてのメトリクスが返されます。
  • page_size: 一度に読み取る履歴レコードの件数。
  • min_step: 履歴の読み取りを開始する最小ステップ(境界を含む)。
  • max_step: 履歴の読み取りを終了する最大ステップ(境界を含まない)。
  • use_cache: True に設定すると、WANDB_CACHE_DIR で run 履歴を確認します。キャッシュ内に run 履歴が見つからない場合はサーバーからダウンロードされます。False に設定すると、毎回 run 履歴がダウンロードされます。
Returns: イテレータとして使用して履歴レコードを取得できる BetaHistoryScan オブジェクト。

classmethod Run.create

create(
    api: 'public.Api',
    run_id: 'str | None' = None,
    project: 'str | None' = None,
    entity: 'str | None' = None,
    state: "Literal['running', 'pending']" = 'running'
) → Self
指定したプロジェクト用の run を作成します。 ほとんどのユースケースでは wandb.init() を使用してください。wandb.init() は run の作成および更新に関して、より堅牢なロジックを提供します。wandb.apis.public.Run.create は、スケジューリングできない可能性のあるジョブ(たとえば GPU が不足している、または競合が激しい Kubernetes クラスター内のジョブ)のために “pending” 状態の run を作成するといった、特定のシナリオ向けに用意されています。これらの pending run は、後から再開して W&B によるトラッキングを行うことができます。 このメソッドで作成された run には機能上の制限があります。この方法で作成された run に対して update() を呼び出しても、期待どおりに動作しない可能性があります。 Args:
  • api: W&B API インスタンス。
  • run_id: 省略可能な run ID。指定しない場合はランダムな ID が生成されます。
  • project: 省略可能なプロジェクト名。指定しない場合は API 設定のプロジェクト、または “uncategorized” が使用されます。
  • entity: 省略可能なエンティティ(ユーザーまたはチーム)名。
  • state: run の初期状態。後で再開する run には “pending” を、すぐに実行する場合は “running” を使用します。
Returns: 作成された run を表す Run オブジェクト。 Example: 後で実行するための pending run を作成する
import wandb

api = wandb.Api()

run_name = "my-pending-run"

run = Run.create(
    api=api,
    project="project",
    entity="entity",
    state="pending",
    run_id=run_name,
)

method Run.delete

delete(delete_artifacts: 'bool' = False) → None
指定されたrunをwandbバックエンドから削除します。 引数:
  • delete_artifacts (bool, optional): run に関連付けられているアーティファクトを削除するかどうかを指定します。

method Run.download_history_exports

download_history_exports(
    download_dir: 'pathlib.Path | str',
    require_complete_history: 'bool' = True
) → DownloadHistoryResult
run の任意の Parquet 履歴ファイルを、指定されたディレクトリにダウンロードします。 引数:
  • download_dir: 履歴ファイルをダウンロードするディレクトリ。
  • require_complete_history: 完全な履歴のダウンロードを必須にするかどうか。true の場合、run にまだ Parquet ファイルへエクスポートされていないデータが含まれていると、IncompleteRunHistoryError がスローされます。
戻り値: DownloadHistoryResult。

メソッド Run.file

file(name: 'str') → public.File
指定された名前のファイルのパスをアーティファクト内から返します。 Args:
  • name (str): 取得するファイルの名前。
Returns: name 引数に一致する File

メソッド Run.files

files(
    names: 'list[str] | None' = None,
    pattern: 'str | None' = None,
    per_page: 'int' = 50
) → public.Files
指定された条件に一致する run 内のすべてのファイルに対する Files オブジェクトを返します。 一致させるファイル名のリスト、またはマッチングパターンを指定できます。両方が指定された場合は、パターンは無視されます。 引数:
  • names (list): 取得するファイル名のリスト。空の場合はすべてのファイルを返します
  • pattern (str, optional): W&B からファイルを返す際に使用するマッチングパターン。MySQL の LIKE 構文を使用します。そのため、.json で終わるすべてのファイルにマッチさせるには “%.json” となります。namespattern の両方が指定された場合は、ValueError が送出されます。
  • per_page (int): 1 ページあたりの結果数。
戻り値: File オブジェクトを反復処理するイテレータである Files オブジェクト。

method Run.history

history(
    samples: 'int' = 500,
    keys: 'list[str] | None' = None,
    x_axis: 'str' = '_step',
    pandas: 'bool' = True,
    stream: "Literal['default', 'system']" = 'default'
) → list[dict[str, Any]] | pd.DataFrame
run のサンプリングされた履歴メトリクスを返します。 履歴レコードがサンプリングされていて問題ない場合、こちらのほうがより簡単かつ高速です。 引数:
  • samples : (int, 任意) 返すサンプル数
  • pandas : (bool, 任意) pandas DataFrame を返すかどうか
  • keys : (list, 任意) 特定のキーのメトリクスのみを返す
  • x_axis : (str, 任意) このメトリクスを x 軸として使用します。デフォルトは _step
  • stream : (str, 任意) メトリクスには “default”、マシンメトリクスには “system” を指定
戻り値:
  • pandas.DataFrame: pandas=True の場合、履歴メトリクスの pandas.DataFrame を返します。
  • list of dicts: pandas=False の場合、履歴メトリクスの dict のリストを返します。

method Run.load

load(force: 'bool' = False) → dict[str, Any]
lazy モードに応じて適切なフラグメントを用いて run データを読み込みます。

メソッド Run.load_full_data

load_full_data(force: 'bool' = False) → dict[str, Any]
config、systemMetrics、summaryMetrics のような重いフィールドを含む、run の全データを読み込みます。 このメソッドは、最初に runs を一覧取得する際に lazy=True を使用していて、特定の run については全データへアクセスする必要がある場合に有用です。 引数:
  • force: すでにデータが読み込まれていても、強制的に再読み込みします
戻り値: 読み込まれた run の属性

メソッド Run.log_artifact

log_artifact(
    artifact: 'wandb.Artifact',
    aliases: 'Collection[str] | None' = None,
    tags: 'Collection[str] | None' = None
) → wandb.Artifact
run の出力としてアーティファクトを宣言します。 Args:
  • artifact (Artifact): wandb.Api().artifact(name) から返されるアーティファクト。
  • aliases (list, optional): このアーティファクトに適用するエイリアス。
  • tags: (list, optional) このアーティファクトに適用するタグ(ある場合)。
Returns: Artifact オブジェクトを返します。

method Run.logged_artifacts

logged_artifacts(per_page: 'int' = 100) → public.RunArtifacts
このrunによってログされたすべてのアーティファクトを取得します。 run の実行中に出力としてログされたすべてのアーティファクトを取得します。結果はページネーションされた形式で返され、反復処理したり、1つのリストにまとめて収集できます。 引数:
  • per_page: API リクエストごとに取得するアーティファクト数。
戻り値: このrunの出力としてログされたすべての Artifact オブジェクトのイテラブルなコレクション。 例:
import wandb
import tempfile

with tempfile.NamedTemporaryFile(mode="w", delete=False, suffix=".txt") as tmp:
    tmp.write("This is a test artifact")
    tmp_path = tmp.name
run = wandb.init(project="artifact-example")
artifact = wandb.Artifact("test_artifact", type="dataset")
artifact.add_file(tmp_path)
run.log_artifact(artifact)
run.finish()

api = wandb.Api()

finished_run = api.run(f"{run.entity}/{run.project}/{run.id}")

for logged_artifact in finished_run.logged_artifacts():
    print(logged_artifact.name)

method Run.save

save() → None
run オブジェクトの変更内容を W&B バックエンドに永続化します。

メソッド Run.scan_history

scan_history(
    keys: 'list[str] | None' = None,
    page_size: 'int' = 1000,
    min_step: 'int | None' = None,
    max_step: 'int | None' = None
) → Iterator[dict[str, Any]]
run のすべての履歴レコードに対するイテラブルなコレクションを返します。 引数:
  • keys ([str], optional): これらのキーのみを取得し、かつすべてのキーが定義されている行のみを取得します。
  • page_size (int, optional): API から取得するページのサイズ。
  • min_step (int, optional): 一度にスキャンするページ数の最小値。
  • max_step (int, optional): 一度にスキャンするページ数の最大値。
戻り値: 履歴レコード(dict)に対するイテラブルなコレクション。 例: サンプルの run から、すべての loss の値をエクスポートします。
run = api.run("entity/project-name/run-id")
history = run.scan_history(keys=["Loss"])
losses = [row["Loss"] for row in history]

method Run.to_html

to_html(height: 'int' = 420, hidden: 'bool' = False) → str
このrunを表示するiframeを埋め込んだHTMLを生成します。

メソッド Run.update

update() → None
run オブジェクトの変更内容を wandb バックエンドに永続化します。

メソッド Run.update_state

update_state(state: "Literal['pending']") → bool
run の状態を更新します。 run を ‘failed’ または ‘crashed’ から ‘pending’ に遷移させることができます。 引数:
  • state: 変更先の run の状態。"pending" のみがサポートされます。
戻り値: 状態が正常に更新された場合は True を返します。 例外:
  • wandb.Error: 要求された状態遷移が許可されていない場合、またはサーバーがこの操作をサポートしていない場合に送出されます。

メソッド Run.upload_file

upload_file(path: 'str', root: 'str' = '.') → public.File
ローカルファイルを W&B にアップロードし、この run に関連付けます。 引数:
  • path (str): アップロードするファイルへのパス。絶対パスでも相対パスでも指定できます。
  • root (str): ファイルをどのパスを基準として保存するかを指定するルートパス。たとえば、run 内でファイルを「my_dir/file.txt」として保存したく、現在のディレクトリが「my_dir」の場合は、root を「../」に設定します。デフォルトはカレントディレクトリ(「.」)です。
戻り値: アップロードされたファイルを表す File オブジェクト。

method Run.use_artifact

use_artifact(
    artifact: 'wandb.Artifact',
    use_as: 'str | None' = None
) → wandb.Artifact
run の入力としてアーティファクトを宣言します。 Args:
  • artifact (Artifact): wandb.Api().artifact(name) から返されるアーティファクト
  • use_as (string, optional): スクリプト内でのアーティファクトの用途を識別する文字列。beta 版の wandb Launch 機能におけるアーティファクトスワップ機能を使用する際に、run で使用されるアーティファクトを簡単に区別するために使用します。
Returns: Artifact オブジェクト。

method Run.used_artifacts

used_artifacts(per_page: 'int' = 100) → public.RunArtifacts
この run で明示的に使用されたアーティファクトを取得します。 通常は run.use_artifact() を通じて、この run の実行中に明示的に使用されたと宣言された入力アーティファクトのみを取得します。ページネーションされた結果を返し、反復処理したり単一のリストにまとめたりできます。 引数:
  • per_page: 1 回の API リクエストで取得するアーティファクトの数。
戻り値: この run で入力として明示的に使用された Artifact オブジェクトのイテラブルなコレクション。 例:
import wandb

run = wandb.init(project="artifact-example")
run.use_artifact("test_artifact:latest")
run.finish()

api = wandb.Api()
finished_run = api.run(f"{run.entity}/{run.project}/{run.id}")
for used_artifact in finished_run.used_artifacts():
    print(used_artifact.name)
test_artifact

method Run.wait_until_finished

wait_until_finished() → None
run が完了するまで、その状態を監視します。