クラス wandb.Run
W&B によってログされる計算の単位です。通常は ML 実験を指します。wandb.init() を呼び出して、
新しい run を作成します。wandb.init() は新しい run を開始し、wandb.Run オブジェクトを返します。
各 run には一意の ID (run ID) が関連付けられています。W&B では、
コンテキストマネージャー (with 文) を使用して run を自動的に終了することを推奨しています。
分散トレーニングの実験では、プロセスごとに 1 つの run を使用して
各プロセスを個別にトラッキングするか、すべてのプロセスを単一の run にトラッキングできます。
詳しくは、分散トレーニングの実験をログする
を参照してください。
wandb.Run.log() を使用して run にデータをログできます。
wandb.Run.log() を使用してログしたすべてのデータは、その run に送信されます。
詳しくは、実験を作成する または
wandb.init の API リファレンスページ
を参照してください。
別の Run オブジェクトが
wandb.apis.public
namespace にあります。このオブジェクトを使用して、すでに作成された run を
操作します。
属性
summary: (Summary) run のサマリーで、辞書のようなオブジェクトです。詳細は、サマリー メトリクスをログするを参照してください。
サンプル
wandb.init() で run を作成します:
プロパティ
wandb_config.Config
この run に関連付けられた設定オブジェクトです。
wandb_config.ConfigStatic
この run に関連付けられた静的な設定オブジェクトです。
str
run のファイルが保存されるディレクトリです。
run.save() で保存されたファイルを指し、run.log() に渡された特定のデータタイプに対して
自動的に作成されるファイルも含まれます。run のすべてのデータを含む
ディレクトリについては、run.sync_dir を参照してください。bool
run が無効の場合は True、それ以外の場合は False です。
str
run に関連付けられた W&B entity の名です。entity はユーザー名、チーム名、または組織名です。
str
この run に関連付けられたグループ名を返します。run をグループ化すると、関連する実験を整理し、
W&B UI でまとめて可視化できます。これは特に、
分散トレーニングや交差検証など、複数の run を
単一の実験として表示・管理する必要がある場合に役立ちます。すべてのプロセスが同じ Run オブジェクトを共有する共有モードでは、
run が 1 つしかなくグループ化が不要なため、
通常はグループを設定する必要はありません。
str
この run の識別子です。
str
run に関連付けられたジョブタイプの名です。run のジョブタイプは、W&B アプリの run の Overview ページで確認できます。これを使用して、run を “training”、“evaluation”、“inference” などの
ジョブタイプで分類できます。W&B UI で run を整理したり
フィルター処理したりする際に役立ちます。特に、同じ project に
異なるジョブタイプの run が複数ある場合に便利です。詳細については、
run の整理を参照してください。
str | None
run の表示名です。表示名は一意であるとは限らず、内容を説明する名前にすることもできます。
デフォルトでは、ランダムに生成されます。
str | None
run に関連付けられたメモです (存在する場合) 。メモには複数行の文字列を使用でき、Markdown や、
$x + 3$ のように $$ 内に LaTeX 数式を記述することもできます。bool
run がオフラインの場合は True、それ以外の場合は False です。
str
run へのパスです。run パスには entity、project、run ID が含まれ、形式は
entity/project/run_id です。str
run に関連付けられた W&B プロジェクト名です。
str | None
run に関連付けられた W&B プロジェクトの URL です (存在する場合) 。オフラインの run には project の URL がありません。
bool
run が再開された場合は True、それ以外の場合は False です。
Settings
run の Settings オブジェクトの変更不可のコピーです。
float
run が開始された時刻の Unix タイムスタンプ (秒単位) です。
int
次の
log() 呼び出しの W&B ステップです。mode=“shared” の run ではエラーを送出します。str | None
run に関連付けられた sweep の識別子です (存在する場合) 。
str | None
run に関連付けられた sweep の URL です (存在する場合) 。オフラインの run には sweep の URL がありません。
str
run のすべてのデータを含むディレクトリです。これを
wandb sync に渡すと、run をアップロードまたは再アップロードできます。tuple | None
run に関連付けられたタグです (存在する場合) 。
str | None
W&B run の URL です (存在する場合) 。オフラインの run には URL がありません。
メソッド
メソッド Run.alert()
str
アラートのタイトル。64 文字未満にする必要があります。
str
アラートの本文。
str | AlertLevel | None
使用するアラートレベル。
INFO、WARN、ERROR のいずれかです。int | float | timedelta | None
同じタイトルのアラートを再度送信するまでの待機時間 (秒) 。
メソッド Run.define_metric()
wandb.Run.log() でログするメトリクスをカスタマイズします。
str
カスタマイズするメトリクスの名。
str | wandb_metric.Metric | None
自動生成されるチャートで、このメトリクスの X 軸として使用する別のメトリクスの名。
bool | None
明示的に指定されていない場合、step_metric の最後の値を
wandb.Run.log() に自動的に挿入します。step_metric が指定されている場合、デフォルトは True です。このメトリクスを自動生成されるプロットから非表示にします。
str | None
summary に追加する集約メトリクスを指定します。サポートされる集約には “min”、“max”、“mean”、“last”、“first”、“copy”、“none” があります。“none” を指定すると summary は生成されません。“copy” は非推奨のため、使用しないでください。
bool | None
false の場合、指定されていないパラメーターには以前の
define_metric 呼び出しの値を使用し、この呼び出しを同じメトリクスに対する以前の呼び出しと統合します。true の場合、指定されていないパラメーターは以前の呼び出しで指定された値を上書きします。メソッド Run.display()
int
説明はありません。
説明はありません。
メソッド Run.finish()
- Running: データをログしている、またはハートビートを送信している実行中の run。
- Crashed: ハートビートの送信が予期せず停止した run。
- Finished: 正常に完了し (
exit_code=0) 、すべてのデータが同期された run。 - Failed: エラーで完了した run (
exit_code!=0) 。 - Killed: 完了する前に強制停止された run。
int | None
run の終了ステータスを示す整数です。成功の場合は 0 を使用します。それ以外の値では、run は失敗としてマークされます。
メソッド Run.finish_artifact()
Artifact | str
このアーティファクトの内容へのパスです。
次の形式を指定できます:
/local/directory/local/directory/file.txts3://bucket/pathwandb.Artifactを呼び出して作成した アーティファクト オブジェクトを渡すこともできます。
str | None
アーティファクト名です。entity/project を接頭辞として付けることができます。
有効な名前は次の形式です:
- name:version
- name:alias
- digest 指定しない場合、デフォルトではパスの basename の先頭に現在の run ID を付けたものになります。
str | None
ログするアーティファクトのタイプです。例として
dataset、model があります。list[str] | None
このアーティファクトに適用するエイリアスです。デフォルトは
["latest"] です。str | None
すべての分散ジョブが共有する一意の string です。None の場合、デフォルトは run のグループ名です。
メソッド Run.link_artifact()
Artifact
コレクションにリンクするアーティファクト オブジェクトです。
str
コレクションのパスです。パスは、接頭辞 “wandb-registry-” とRegistry名、コレクション名で構成されます:
wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}。list[str] | None
リンクされたアーティファクトにエイリアスを 1 つ以上追加します。“latest” エイリアスは、最後にリンクしたアーティファクトに自動的に適用されます。
メソッド Run.link_model()
- ‘name’ モデル アーティファクトがログされているか確認します。ログされている場合は、‘path’ にあるファイルと一致するアーティファクトのバージョンを 使用するか、新しいバージョンをログします。ログされていない場合は、‘path’ にあるファイルを、‘name’ という名の新しいモデル アーティファクトとして、 タイプ ‘model’ でログします。
- ‘model-registry’ project に、‘registered_model_name’ という名の登録済みモデルが存在するか確認します。 存在しない場合は、‘registered_model_name’ という名の新しい登録済みモデルを作成します。
- モデル アーティファクト ‘name’ のバージョンを、登録済みモデル ‘registered_model_name’ にリンクします。
- ‘aliases’ リストのエイリアスを、新しくリンクされたモデル アーティファクトのバージョンに付与します。
StrPath
(str) このモデルの内容へのパスです。
次の形式を指定できます:
/local/directory/local/directory/file.txts3://bucket/path
str
モデルのリンク先となる登録済みモデルの名です。登録済みモデルは、モデルレジストリにリンクされたモデルのバージョンのコレクションで、通常はチームの特定の ML タスクを表します。この登録済みモデルが属する entity は run から取得されます。
str | None
‘path’ 内のファイルをログするモデル アーティファクトの名です。指定しない場合、デフォルトはパスの basename の先頭に現在の run ID を付けたものになります。
list[str] | None
登録済みモデル内の、このリンクされたアーティファクトにのみ適用されるエイリアスです。エイリアス “latest” は、リンクされたアーティファクトの最新バージョンに常に適用されます。
AssertionError: registered_model_name がパスである場合、またはモデル アーティファクトの ‘name’ のタイプに部分文字列 ‘model’ が含まれていない場合。ValueError: name に無効な特殊文字が含まれている場合。
メソッド Run.log()
log を使用して、スカラー、画像、動画、
ヒストグラム、プロット、表などの run のデータをログします。コードスニペットやベストプラクティスなどについては、オブジェクトとメディアをログする を
参照してください。
基本的な使用方法:
wandb.Table を使用して構造化データをログできます。詳細については、
表をログし、データを可視化してクエリする
チュートリアルを参照してください。
名前にスラッシュ (/) を含むメトリクスは、W&B によって
最後のスラッシュより前のテキストを名前とするセクションにまとめられます。たとえば、
次のコードでは「train」と「validate」という 2 つのセクションが作成されます。
run.log({"a/b/c": 1}) は
“a” という名のセクションを生成します。
run.log() は、1秒間に数回を超えて呼び出すことを想定していません。
最適なパフォーマンスを得るには、ログする頻度を反復処理 N 回につき1回に制限するか、
複数回の反復処理でデータを収集し、単一のステップでログしてください。
デフォルトでは、log を呼び出すたびに新しい “ステップ” が作成されます。
ステップ は常に増加する必要があり、過去の ステップ にログする
ことはできません。チャートの X 軸には任意のメトリクスを使用できます。
詳細については、ログ軸のカスタマイズ
を参照してください。
多くの場合、W&B の ステップ はトレーニングステップではなく、
タイムスタンプとして扱う方が適切です。
step パラメーターと commit パラメーターを使用すると、wandb.Run.log() の複数回の invocation で同じ ステップ にログすることができます。
以下はすべて同等です。
dict[str, Any]
キーが
str で、値がシリアライズ可能な Python オブジェクトである dict です。値には、int、float、string、任意の wandb.data_types、シリアライズ可能な Python オブジェクトのリスト、タプル、NumPy 配列、および同じ構造の他の dict を使用できます。int | None
ログする ステップ の数値です。
None の場合、暗黙的に自動インクリメントされる ステップ を使用します。説明内のメモを参照してください。bool | None
true の場合、ステップ を確定してアップロードします。false の場合、ステップ のデータを蓄積します。説明内のメモを参照してください。
step が None の場合、デフォルトは commit=True です。それ以外の場合、デフォルトは commit=False です。wandb.Error:wandb.init()より前に呼び出された場合。ValueError: 無効なデータが渡された場合。
メソッド Run.log_artifact()
Artifact | StrPath
(str または Artifact) このアーティファクトの内容へのパスです。
次の形式で指定できます。
/local/directory/local/directory/file.txts3://bucket/pathwandb.Artifactを呼び出して作成したアーティファクト オブジェクトを 渡すこともできます。
str | None
(str, optional) アーティファクト名です。有効なアーティファクト名の形式は次のとおりです。
- name:version
- name:alias
- digest 指定しない場合、デフォルトではパスの basename の先頭に現在の run ID を付加したアーティファクト名になります。
str | None
(str) ログするアーティファクトのタイプです (例:
dataset、model)。list[str] | None
(list, optional) このアーティファクトに適用するエイリアスです。デフォルトは
["latest"] です。list[str] | None
(list, optional) このアーティファクトに適用するタグです (任意)。
メソッド Run.log_code()
.py で終わるすべてのファイルをログします。
str | None
コードを再帰的に検索する起点となるパスです。相対パス (
os.getcwd() 基準) または絶対パスを指定します。str | None
(str, optional) コードアーティファクト名です。デフォルトでは、アーティファクト名は
source-$PROJECT_ID-$ENTRYPOINT_RELPATH になります。複数の run で同じアーティファクトを共有したい場合は、name を指定します。Callable[[str, str], bool] | Callable[[str], bool]
ファイルパスと (オプションで) ルートパスを受け入れ、そのファイルを含める場合は True、それ以外の場合は False を返す callable です。デフォルトは
lambda path, root: path.endswith(".py") です。Callable[[str, str], bool] | Callable[[str], bool]
ファイルパスと (オプションで) ルートパスを受け入れ、そのファイルを除外する場合は
True、それ以外の場合は False を返す callable です。デフォルトは、<root>/.wandb/ および <root>/wandb/ ディレクトリ内のすべてのファイルを除外する関数です。メソッド Run.log_model()
StrPath
(str) このモデルの内容へのパスです。
次の形式を使用できます:
/local/directory/local/directory/file.txts3://bucket/path
str | None
ファイルの内容を追加するモデル アーティファクトに割り当てる名です。指定しない場合、デフォルトはパスの basename の先頭に現在の run ID を付けたものになります。
list[str] | None
作成されたモデル アーティファクトに適用するエイリアスです。デフォルトは
["latest"] です。ValueError: name に無効な特殊文字が含まれている場合。
メソッド Run.mark_preempting()
メソッド Run.pin_config_keys()
Sequence[str]
設定キー名をピン留めします。
run.config を介して設定された 設定キー に一致します。これらは正確な 設定キー strings です (ドットとスラッシュはパス区切り文字ではなく、リテラルとして扱われます) 。順序は保持され、表示順序を決定します。メソッド Run.restore()
str
ファイル名。
str | None
ファイルの取得元となる run へのオプションのパス (例:
username/project_name/run_id) 。wandb.init が呼び出されていない場合は必須です。bool
ファイルがすでにローカルに存在する場合でもダウンロードするかどうかを指定します
str | None
ファイルのダウンロード先ディレクトリ。 デフォルトはカレントディレクトリですが、wandb.init が呼び出されている場合は run のディレクトリです。
CommError: W&B が W&B バックエンドに接続できない場合。ValueError: ファイルが見つからない場合、または run_path を検索できない場合。
メソッド Run.save()
policy に関係なく save が
呼び出された時点で展開されます。特に、新しいファイルは
自動的には取り込まれません。
glob_str は Python の glob モジュールを使用して展開されます。正確な構文と
動作については 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() を複数回
呼び出しても、再アップロードされません。
str | os.PathLike
相対パスまたは絶対パス、または Unix glob を指定します。
str | os.PathLike | None
ディレクトリ構造を推論するために使用するパスを指定します。サンプルを参照してください。
PolicyName
live、now、または end のいずれかを指定します。- live: ファイルが変更されるたびにアップロードし、以前のバージョンを上書きします
- now: ファイルを今すぐ 1 回アップロードします
- end: run が終了したときにファイルをアップロードします
bool
glob_str を glob パターンとして扱うかどうかを指定します。後方互換性のためにデフォルトは True です。glob_str をリテラルパスとして扱う場合は False に設定してください。たとえば、ファイル名に [、]、*、または ? などの glob メタ文字が含まれていて、パターンとして解釈してほしくない場合に使用します。メソッド Run.status()
メソッド Run.unwatch()
torch.nn.Module | Sequence[torch.nn.Module] | None
watch が呼び出された pytorch モデルのリストです。省略可能です。
メソッド Run.upsert_artifact()
Artifact | str
このアーティファクトの内容へのパス。
以下の形式で指定できます:
/local/directory/local/directory/file.txts3://bucket/path
str | None
アーティファクト名。“entity/project” で接頭辞を付けることができます。指定されていない場合、現在の run ID を先頭に付けたパスの basename にデフォルト設定されます。有効な名前は以下の形式で指定できます:
- name:version
- name:alias
- digest
str | None
ログするアーティファクトのタイプ。一般的な例として
dataset、model があります。list[str] | None
このアーティファクトに適用するエイリアス。デフォルトは
["latest"] です。str | None
分散ジョブがすべて共有する一意の string。None の場合、run のグループ名にデフォルト設定されます。
メソッド Run.use_artifact()
download または file を呼び出して、ローカルにコンテンツを取得します。
str | Artifact
使用するアーティファクトの名。ログされた project の名で接頭辞を付けることができます
(“entity” または “entity/project”)。名に
entity が指定されていない場合、run または API 設定の entity が使用されます。
有効な名は次の形式になります
- name:version
- name:alias
str | None
使用するアーティファクトのタイプ。
list[str] | None
このアーティファクトに適用するエイリアス
str | None
この引数は非推奨で、何も行いません。
メソッド Run.use_model()
str
モデル アーティファクトの名。‘name’ は既存のログした
モデル アーティファクトの名と一致する必要があります。
entity/project/ を接頭辞として付けることができます。有効な名は
以下の形式になります- model_artifact_name:version
- model_artifact_name:alias
AssertionError: モデル アーティファクトの ‘name’ が ‘model’ という部分文字列を含まないタイプの場合。
メソッド Run.watch()
torch.nn.Module | Sequence[torch.nn.Module]
監視する単一のモデルまたはモデルのシーケンス。
torch.F | None
最適化される損失関数 (オプション) 。
Literal['gradients', 'parameters', 'all'] | None
“gradients”、“parameters”、または “all” をログするかどうかを指定します。ログを無効にするには None に設定します。 (デフォルト=“gradients”) 。
int
勾配とパラメーターをログする頻度 (バッチ単位) 。 (デフォルト=1000)
int | None
wandb.watch で複数のモデルをトラッキングする際に使用するインデックス。 (デフォルト=None)bool
モデルの計算グラフをログするかどうか。 (デフォルト=False)
ValueError:wandb.init()が呼び出されていない場合、またはいずれかのモデルがtorch.nn.Moduleのインスタンスでない場合。
メソッド Run.write_logs()
write_logs を使用して、自動的な stdout/stderr の取得に頼る代わりに Logs タブに直接テキストを書き込みます。run が finished になった後の Call は無視される。
Python の logging モジュールと連携する capture_loggers 設定の使用を検討してください。
str
書き込むテキスト。末尾に改行がない場合は追加されます。