class Run
W&B によってログを記録される計算の単位です。通常、これは 1 つの ML 実験(Experiment)を指します。
新しい run を作成するには wandb.init() を呼び出します。wandb.init() は新しい run を開始し、wandb.Run オブジェクトを返します。各 run は固有の ID(run ID)に関連付けられています。W&B では、run を自動的に終了させるためにコンテキストマネージャ(with 文)の使用を推奨しています。
分散トレーニングの実験では、プロセスごとに 1 つの run を使用して各プロセスを個別に追跡するか、すべてのプロセスを 1 つの run で追跡することができます。詳細は Log distributed training experiments を参照してください。
wandb.Run.log() を使用して run にデータをログ出力できます。wandb.Run.log() を使用してログに記録されたものはすべてその run に送信されます。詳細は Create an experiment または wandb.init の API リファレンスページを参照してください。
wandb.apis.public ネームスペースにも別の Run オブジェクトがあります。このオブジェクトは、すでに作成された run を操作するために使用します。
Attributes:
summary: (Summary) 辞書形式のオブジェクトである run のサマリーです。詳細については以下を参照してください。[Log summary metrics](https: //docs.wandb.ai/guides/track/log/log-summary/)。
wandb.init() で run を作成する:
property Run.config
この run に関連付けられた Config オブジェクト。 Returns:wandb_config.Config: config プロパティの値。
property Run.config_static
この run に関連付けられた静的な Config オブジェクト。 Returns:wandb_config.ConfigStatic: config_static プロパティの値。
property Run.dir
run に関連付けられたファイルが保存されるディレクトリー。 Returns:str: dir プロパティの値。
property Run.disabled
run が無効な場合は True、それ以外の場合は False。 Returns:bool: disabled プロパティの値。
property Run.entity
run に関連付けられた W&B Entity の名前。 Entity はユーザー名、またはチームや組織の名前です。 Returns:str: entity プロパティの値。
property Run.group
この run に関連付けられたグループの名前を返します。 複数の run をグループ化することで、関連する実験を W&B UI 上でまとめて整理し、可視化することができます。これは、複数の run を統合された実験として表示・管理すべき分散トレーニングやクロスバリデーションなどのシナリオで特に便利です。 すべてのプロセスが同じ run オブジェクトを共有する共有モードでは、run は 1 つしかなくグループ化の必要がないため、通常グループの設定は不要です。 Returns:str: group プロパティの値。
property Run.id
この run の識別子。 Returns:str: id プロパティの値。
property Run.job_type
run に関連付けられたジョブタイプの名前。 run のジョブタイプは、W&B App の run の Overview ページで確認できます。 これを使用して、“training”、“evaluation”、“inference” などのジョブタイプごとに run を分類できます。これは、同じプロジェクト内に異なるジョブタイプの run が複数ある場合に、W&B UI で run を整理したりフィルタリングしたりするのに役立ちます。詳細は Organize runs を参照してください。 Returns:str: job_type プロパティの値。
property Run.name
run の表示名。 表示名は一意であるとは限らず、説明的な名前になる場合があります。デフォルトではランダムに生成されます。 Returns:str | None: name プロパティの値。
property Run.notes
run に関連付けられたメモ(ある場合)。 メモは複数行の文字列にすることができ、$$ 内で Markdown や LaTeX 数式(例: $x + 3$)を使用することも可能です。
Returns:
str | None: notes プロパティの値。
property Run.offline
run がオフラインの場合は True、それ以外の場合は False。 Returns:bool: offline プロパティの値。
property Run.path
run へのパス。 run パスには、entity/project/run_id の形式で entity、project、run ID が含まれます。
Returns:
str: path プロパティの値。
property Run.project
run に関連付けられた W&B Project の名前。 Returns:str: project プロパティの値。
property Run.project_url
run に関連付けられた W&B Project の URL(存在する場合)。 オフラインの run にはプロジェクト URL はありません。 Returns:str | None: project_url プロパティの値。
property Run.resumed
run が再開(resume)された場合は True、それ以外の場合は False。 Returns:bool: resumed プロパティの値。
property Run.settings
run の Settings オブジェクトのフリーズされたコピー。 Returns:Settings: settings プロパティの値。
property Run.start_time
run が開始された時の Unix タイムスタンプ(秒単位)。 Returns:float: start_time プロパティの値。
property Run.sweep_id
run に関連付けられた Sweep の識別子(存在する場合)。 Returns:str | None: sweep_id プロパティの値。
property Run.sweep_url
run に関連付けられた Sweep の URL(存在する場合)。 オフラインの run には Sweep URL はありません。 Returns:str | None: sweep_url プロパティの値。
property Run.tags
run に関連付けられたタグ(ある場合)。 Returns:tuple | None: tags プロパティの値。
property Run.url
W&B run の URL(存在する場合)。 オフラインの run には URL はありません。 Returns:str | None: url プロパティの値。
method Run.alert
title: アラートのタイトル。64 文字未満である必要があります。text: アラートの本文。level: 使用するアラートレベル。INFO、WARN、またはERRORのいずれか。wait_duration: このタイトルの別のアラートを送信するまでの待機時間(秒単位)。
method Run.define_metric
wandb.Run.log() で記録されるメトリクスをカスタマイズします。
Args:
name: カスタマイズするメトリクスの名前。step_metric: 自動生成されたチャートで、このメトリクスの X 軸として機能する別のメトリクスの名前。step_sync:step_metricが明示的に指定されていない場合、その最後の値を自動的にwandb.Run.log()に挿入します。step_metricが指定されている場合はデフォルトで True です。hidden: このメトリクスを自動プロットから非表示にします。summary: サマリーに追加される集計メトリクスを指定します。サポートされている集計には、“min”, “max”, “mean”, “last”, “first”, “best”, “copy”, “none” があります。“none” はサマリーの生成を停止します。“best” は goal パラメータと共に使用されますが、“best” は非推奨であり、代わりに “min” または “max” を使用する必要があります。“copy” も非推奨であり使用すべきではありません。goal: “best” サマリータイプの解釈方法を指定します。サポートされているオプションは “minimize” と “maximize” です。“goal” は非推奨であり、代わりに “min” または “max” を使用してください。overwrite: False の場合、この呼び出しは同じメトリクスに対する以前のdefine_metric呼び出しとマージされ、指定されていないパラメータには以前の値が使用されます。True の場合、指定されていないパラメータは以前の呼び出しで指定された値を上書きします。
method Run.display
method Run.finish
- Running: データをログに記録中、またはハートビートを送信中のアクティブな run。
- Crashed: 予期せずハートビートの送信が停止した run。
- Finished: すべてのデータが同期され、正常に終了した run (
exit_code=0)。 - Failed: エラーで終了した run (
exit_code!=0)。 - Killed: 終了前に強制停止された run。
exit_code: run の終了ステータスを示す整数。成功の場合は 0 を使用し、それ以外の値は run が失敗したことを示します。quiet: 非推奨です。wandb.Settings(quiet=...)を使用してログの冗長性を設定してください。
method Run.finish_artifact
artifact_or_path: このアーティファクトの内容へのパス。以下の形式が可能です:/local/directory/local/directory/file.txts3://bucket/pathまた、wandb.Artifactを呼び出して作成された Artifact オブジェクトを渡すこともできます。
name: アーティファクト名。entity/project をプレフィックスとして付けることができます。有効な名前の形式は以下の通りです:- name:version
- name:alias
- digest 指定しない場合、デフォルトで現在の run ID が先頭に付加されたパスのベース名になります。
type: ログに記録するアーティファクトのタイプ。例としてdatasetやmodelなどがあります。aliases: このアーティファクトに適用するエイリアス。デフォルトは["latest"]です。distributed_id: すべての分散ジョブで共有される一意の文字列。None の場合、デフォルトで run のグループ名になります。
Artifact オブジェクト。
method Run.link_artifact
artifact: コレクションにリンクするアーティファクトオブジェクト。target_path: コレクションのパス。パスはプレフィックス “wandb-registry-” とレジストリ名、コレクション名で構成されます:wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}。aliases: リンクされたアーティファクトに 1 つ以上のエイリアスを追加します。“latest” エイリアスは、リンクされた最新のアーティファクトに自動的に適用されます。
method Run.link_model
- ‘name’ というモデルアーティファクトがすでにログ記録されているか確認します。記録されている場合は、‘path’ にあるファイルと一致するアーティファクトバージョンを使用するか、新しいバージョンをログに記録します。記録されていない場合は、‘path’ 下のファイルを新しいモデルアーティファクト(タイプ ‘model’ の ‘name’)としてログに記録します。
- ‘model-registry’ プロジェクト内に ‘registered_model_name’ という名前の Registered Models が存在するか確認します。存在しない場合は、新しく作成します。
- モデルアーティファクト ‘name’ のバージョンを Registered Models ‘registered_model_name’ にリンクします。
- ‘aliases’ リストのエイリアスを、新しくリンクされたモデルアーティファクトバージョンに付加します。
path: (str) このモデルの内容へのパス。以下の形式が可能です:/local/directory/local/directory/file.txts3://bucket/path
registered_model_name: モデルのリンク先となる Registered Models の名前。Registered Models はモデルレジストリにリンクされたモデルバージョンのコレクションであり、通常はチームの特定の ML タスクを表します。この登録済みモデルが属する Entity は run から導出されます。name: ‘path’ 内のファイルがログ記録されるモデルアーティファクトの名前。指定しない場合、デフォルトで現在の run ID が先頭に付加されたパスのベース名になります。aliases: 登録済みモデル内のこのリンクされたアーティファクトにのみ適用されるエイリアス。エイリアス “latest” は、リンクされたアーティファクトの最新バージョンに常に適用されます。
AssertionError: registered_model_name がパスである場合、またはモデルアーティファクト ‘name’ のタイプに ‘model’ という文字列が含まれていない場合。ValueError: name に無効な特殊文字が含まれている場合。
None。
method Run.log
log を使用します。コードスニペット、ベストプラクティスなどは、Log objects and media を参照してください。
基本的な使い方:
wandb.Table を使用して構造化データをログに記録できます。詳細は Log tables, visualize and query data チュートリアルを参照してください。
W&B は、名前にスラッシュ(/)が含まれるメトリクスを、最後のスラッシュの前のテキストを使用したセクションに整理します。例えば、以下は “train” と “validate” という 2 つのセクションを作成します:
run.log({"a/b/c": 1}) は “a” という名前のセクションを作成します。
run.log() は 1 秒間に数回以上呼び出されることを想定していません。最適なパフォーマンスを得るには、N 回のイテレーションごとに 1 回ログを記録するか、複数のイテレーションにわたってデータを収集し、単一のステップでログを記録するように制限してください。
デフォルトでは、log を呼び出すたびに新しい「ステップ」が作成されます。ステップは常に増加する必要があり、過去のステップにログを記録することはできません。チャートでは任意のメトリクスを X 軸として使用できます。詳細は Custom log axes を参照してください。
多くの場合、W&B のステップをトレーニングステップとしてではなく、タイムスタンプのように扱うのがより適切です。
step と commit パラメータを使用することで、複数の wandb.Run.log() 呼び出しで同じステップにログを記録することが可能です。以下はすべて同等です:
data: 文字列のキーとシリアライズ可能な値を保持するdict。シリアライズ可能な Python オブジェクト:int、float、string、任意のwandb.data_types、シリアライズ可能な Python オブジェクトのリスト、タプル、NumPy 配列、およびこの構造を持つ他のdict。step: ログを記録するステップ番号。Noneの場合、暗黙的な自動インクリメントステップが使用されます。説明文の注記を参照してください。commit: True の場合、ステップを確定してアップロードします。False の場合、そのステップのデータを蓄積します。説明文の注記を参照してください。stepがNoneの場合、デフォルトはcommit=Trueです。それ以外の場合、デフォルトはcommit=Falseです。
wandb.Error:wandb.init()の前に呼び出された場合。ValueError: 無効なデータが渡された場合。
method Run.log_artifact
artifact_or_path: (str または Artifact) このアーティファクトの内容へのパス。以下の形式が可能です:/local/directory/local/directory/file.txts3://bucket/pathまた、wandb.Artifactを呼び出して作成された Artifact オブジェクトを渡すこともできます。
name: (str, optional) アーティファクト名。有効な名前の形式は以下の通りです:- name:version
- name:alias
- digest 指定しない場合、デフォルトで現在の run ID が先頭に付加されたパスのベース名になります。
type: (str) ログに記録するアーティファクトのタイプ。例としてdatasetやmodelなどがあります。aliases: (list, optional) このアーティファクトに適用するエイリアス。デフォルトは["latest"]です。tags: (list, optional) このアーティファクトに適用するタグ(ある場合)。
Artifact オブジェクト。
method Run.log_code
.py で終わるすべてのファイルをログに記録します。
Args:
root: コードを再帰的に検索するための相対パス(os.getcwd()からの相対)または絶対パス。name: (str, optional) コードアーティファクトの名前。デフォルトでは、アーティファクト名はsource-$PROJECT_ID-$ENTRYPOINT_RELPATHになります。多くの run で同じアーティファクトを共有したいシナリオがあるかもしれません。name を指定することでそれを実現できます。include_fn: ファイルパスと(オプションで)ルートパスを受け取り、含めるべき場合に True を、そうでない場合に False を返す呼び出し可能オブジェクト。デフォルト:lambda path, root: path.endswith(".py")。exclude_fn: ファイルパスと(オプションで)ルートパスを受け取り、除外すべき場合にTrueを、そうでない場合にFalseを返す呼び出し可能オブジェクト。デフォルトでは、<root>/.wandb/および<root>/wandb/ディレクトリー内のすべてのファイルを除外する関数になります。
Artifact オブジェクト。
method Run.log_model
path: (str) このモデルの内容へのパス。以下の形式が可能です:/local/directory/local/directory/file.txts3://bucket/path
name: ファイルの内容が追加されるモデルアーティファクトに割り当てる名前。指定しない場合、デフォルトで現在の run ID が先頭に付加されたパスのベース名になります。aliases: 作成されたモデルアーティファクトに適用するエイリアス。デフォルトは["latest"]です。
ValueError: name に無効な特殊文字が含まれている場合。
method Run.mark_preempting
method Run.restore
name: ファイルの名前。run_path: ファイルを取得する run へのオプションのパス(例:username/project_name/run_id)。wandb.initが呼び出されていない場合は必須です。replace: ローカルにすでに存在する場合でもファイルをダウンロードするかどうか。root: ファイルをダウンロードするディレクトリー。デフォルトは、現在のディレクトリー、またはwandb.initが呼び出されている場合は run ディレクトリーです。
CommError: W&B バックエンドに接続できない場合。ValueError: ファイルが見つからない、または run_path が見つからない場合。
method Run.save
policy に関係なく save が呼び出された時点で展開されます。特に、新しいファイルが自動的に取得されることはありません。
アップロードされたファイルのディレクトリー構造を制御するために、base_path を指定できます。これは glob_str のプレフィックスである必要があり、その下のディレクトリー構造が保持されます。
絶対パスまたは glob が指定され、base_path が指定されていない場合、上記の例のように 1 つのディレクトリーレベルが保持されます。
ファイルは自動的に重複排除されます。変更なしで同じファイルに対して save() を複数回呼び出しても、再アップロードは行われません。
Args:
glob_str: 相対パス、絶対パス、または Unix glob。base_path: ディレクトリー構造を推論するために使用するパス。例を参照してください。policy:live、now、endのいずれか。- live: ファイルが変更されるたびにアップロードし、以前のバージョンを上書きします。
- now: 今すぐ一度だけファイルをアップロードします。
- end: run が終了したときにファイルをアップロードします。
method Run.status
method Run.unwatch
models:watchが呼び出された PyTorch モデルのオプションのリスト。
method Run.upsert_artifact
run.finish_artifact() を呼び出す必要があることに注意してください。これは、分散ジョブがすべて同じアーティファクトに貢献する必要がある場合に便利です。
Args:
artifact_or_path: このアーティファクトの内容へのパス。以下の形式が可能です:/local/directory/local/directory/file.txts3://bucket/path
name: アーティファクト名。“entity/project” をプレフィックスとして付けることができます。指定しない場合、デフォルトで現在の run ID が先頭に付加されたパスのベース名になります。有効な名前の形式は以下の通りです:- name:version
- name:alias
- digest
type: ログに記録するアーティファクトのタイプ。一般的な例としてdatasetやmodelがあります。aliases: このアーティファクトに適用するエイリアス。デフォルトは["latest"]です。distributed_id: すべての分散ジョブで共有される一意の文字列。None の場合、デフォルトで run のグループ名になります。
Artifact オブジェクト。
method Run.use_artifact
download または file を呼び出すことで、内容をローカルに取得できます。
Args:
artifact_or_name: 使用するアーティファクトの名前。アーティファクトがログ記録されたプロジェクト名(“entity” または “entity/project”)をプレフィックスとして付けることができます。名前に entity が指定されていない場合、Run または API 設定の entity が使用されます。有効な名前の形式は以下の通りです:- name:version
- name:alias
type: 使用するアーティファクトのタイプ。aliases: このアーティファクトに適用するエイリアス。use_as: この引数は非推奨であり、何もしません。
Artifact オブジェクト。
Examples:
method Run.use_model
name: モデルアーティファクト名。‘name’ は既存のログ記録されたモデルアーティファクトの名前と一致する必要があります。entity/project/をプレフィックスとして付けることができます。有効な名前の形式は以下の通りです:- model_artifact_name:version
- model_artifact_name:alias
path(str): ダウンロードされたモデルアーティファクトファイルへのパス。
AssertionError: モデルアーティファクト ‘name’ のタイプに ‘model’ という文字列が含まれていない場合。
method Run.watch
models: 監視対象となる単一のモデルまたはモデルのシーケンス。criterion: 最適化される損失関数(オプション)。log: “gradients”、“parameters”、または “all” のどれをログに記録するかを指定します。ログ記録を無効にするには None を設定します。(デフォルト=“gradients”)。log_freq: 勾配とパラメータをログに記録する頻度(バッチ単位)。(デフォルト=1000)idx:wandb.watchで複数のモデルを追跡する際に使用されるインデックス。(デフォルト=None)log_graph: モデルの計算グラフをログに記録するかどうか。(デフォルト=False)
wandb.init() が呼び出されていない場合、またはモデルのいずれかが torch.nn.Module のインスタンスではない場合。