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