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 オブジェクトもあります。このオブジェクトは、すでに作成済みの 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 オブジェクト。 戻り値:wandb_config.Config:configプロパティの値。
property Run.config_static
この run に対応する静的な config オブジェクトです。 戻り値:wandb_config.ConfigStatic: config_static プロパティの値。
property Run.dir
run に関連付けられたファイルが保存されるディレクトリです。 戻り値:str: dir プロパティの値。
property Run.disabled
run が無効化されている場合は True、そうでない場合は False。 戻り値:bool: disabled プロパティの値。
property Run.entity
run に関連付けられた W&B エンティティの名前。 エンティティは、ユーザー名、チーム名、または組織名のいずれかです。 戻り値:str:entityプロパティの値。
property Run.group
このrunに関連付けられているグループ名を返します。 Runsをグループ化すると、関連するExperimentsをW&B UI上でまとめて整理・可視化できます。これは特に、分散学習やクロス検証のように、複数のrunを1つのExperimentとしてまとめて閲覧・管理したいシナリオで有用です。 すべてのプロセスが同じrunオブジェクトを共有する共有モードでは、runが1つしかなくグループ化の必要がないため、グループを設定する必要は通常ありません。 戻り値:str: group プロパティの値。
property Run.id
この run の識別子です。 Returns:str: id プロパティの値。
property Run.job_type
run に関連付けられているジョブタイプの名前。 W&B アプリの対象 run の Overview ページで、run のジョブタイプを確認できます。 これを使用して、“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 に関連付けられている notes(存在する場合)。 notes は複数行の文字列にでき、$$ で囲んで Markdown や LaTeX の数式(例: $x + 3$)を使用することもできます。
戻り値:
str | None: notes プロパティの値。
property Run.offline
run がオフラインの場合は True、それ以外の場合は False です。 Returns:bool: offline プロパティの値を返します。
property Run.path
run へのパス。 run のパスには entity、プロジェクト、run ID が含まれ、その形式はentity/project/run_id です。
戻り値:
str: path プロパティの値。
property Run.project
run に関連付けられている W&B プロジェクトの名前。 Returns:str: project プロパティの値。
property Run.project_url
run に関連付けられた W&B プロジェクトの URL(存在する場合)。 オフラインの run には project URL はありません。 Returns:str | None: project_url プロパティの値。
property Run.resumed
run が再開された場合は True、それ以外の場合は False です。 戻り値:bool: resumed プロパティの値。
property Run.settings
run の Settings オブジェクトの変更不可のコピー。 戻り値:Settings: settings プロパティの値。
property Run.start_time
この run が開始した時刻を表す Unix タイムスタンプ(秒単位)。 戻り値:float: start_time プロパティの値。
property Run.sweep_id
run に関連付けられているスイープの識別子。スイープが存在する場合のみ設定されます。 戻り値:str | None: sweep_id プロパティの値。
property Run.sweep_url
run に関連付けられているスイープの URL(存在する場合)。 オフラインの run にはスイープ URL はありません。 Returns:str | None: sweep_url プロパティの値。
property Run.tags
run に関連付けられているタグ(存在する場合)。 戻り値:tuple | None: tags プロパティの値。
property Run.url
W&B の run の URL(存在する場合)。 オフラインの run には URL は存在しません。 戻り値:str | None: url プロパティの値。
メソッド 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:wandb.Run.log()にstep_metricの最後の値が明示的に指定されていない場合に、自動的にその値を挿入します。step_metricが指定されている場合、デフォルトは True です。hidden: このメトリクスを自動プロットから非表示にします。summary: summary に追加される集約メトリクスを指定します。サポートされる集約は “min”, “max”, “mean”, “last”, “first”, “best”, “copy”, “none” です。“none” は summary が生成されないようにします。“best” は goal パラメータと一緒に使用されますが、“best” は非推奨であり使用すべきではありません。代わりに “min” または “max” を使用してください。“copy” も非推奨であり使用すべきではありません。goal: “best” summary タイプの解釈方法を指定します。サポートされるオプションは “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,modelaliases: このアーティファクトに適用するエイリアス。デフォルトは["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’ 以下のファイルを、新しいモデルアーティファクト ‘name’(タイプ ‘model’)としてログします。
- ‘model-registry’ プロジェクト内に、名前が ‘registered_model_name’ の登録済みモデルが存在するか確認します。存在しない場合は、名前が ‘registered_model_name’ の新しい登録済みモデルを作成します。
- モデルアーティファクト ‘name’ のバージョンを、登録済みモデル ‘registered_model_name’ にリンクします。
- ‘aliases’ リストに含まれるエイリアスを、新たにリンクされたモデルアーティファクトバージョンに付与します。
path: (str) このモデルの内容へのパス。次の形式を取ることができます:/local/directory/local/directory/file.txts3://bucket/path
registered_model_name: このモデルがリンクされる登録済みモデルの名前。登録済みモデルはモデルレジストリにリンクされたモデルバージョンの集合であり、通常はチーム固有の ML タスクを表します。この登録済みモデルが属するエンティティは run から導出されます。name: ‘path’ 内のファイルがログされるモデルアーティファクトの名前。指定されない場合、パスのベース名の前に現在の run ID を付与したものがデフォルトになります。aliases: この登録済みモデル内で、このリンクされたアーティファクトにのみ適用されるエイリアス。エイリアス “latest” は、リンクされているアーティファクトの最新バージョンに対して常に適用されます。
AssertionError: registered_model_name がパスである場合、またはモデルアーティファクト ‘name’ のタイプに ‘model’ という部分文字列が含まれない場合。ValueError: name に無効な特殊文字が含まれている場合。
None を返します。
method Run.log
log を使って、スカラー、画像、動画、ヒストグラム、プロット、テーブルなどのデータを run から記録(ログ)します。コードスニペットやベストプラクティスなどの詳細は、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 回だけログを記録するか、複数イテレーションにわたってデータを収集し、1 回の log 呼び出しでまとめてログを記録してください。
デフォルトでは、log を呼び出すたびに新しい「step」が作成されます。step は常に増加しなければならず、過去の step にログを記録することはできません。任意のメトリクスをチャートの X 軸として使用できます。詳細については、Custom log axes を参照してください。
多くの場合、W&B の step は学習ステップというよりもタイムスタンプのように扱う方が適切です。
step と commit パラメータを使うことで、複数回の wandb.Run.log() 呼び出しで同じステップに対してログを記録できます。次のコードはすべて同じ動作になります:
data: キーがstrで、値がシリアライズ可能なdictPython objects including:int、float、stringなどの Python オブジェクト;wandb.data_typesのいずれか;シリアライズ可能な Python オブジェクトの list、tuple、NumPy array;この構造を持つ他の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, 省略可) アーティファクト名。利用可能な形式は以下のとおりです:- name:version
- name:alias
- digest 指定しない場合は、パスのベース名の前に現在の run の ID を付けたものがデフォルトになります。
type: (str) ログするアーティファクトの種類。例:dataset,modelaliases: (list, 省略可) このアーティファクトに適用するエイリアス。デフォルトは["latest"]です。tags: (list, 省略可) このアーティファクトに適用するタグ (あれば)。
Artifact オブジェクト。
メソッド Run.log_code
.py のすべてのファイルをログします。
Args:
root: コードを再帰的に探索するためのパス。os.getcwd()からの相対パス、または絶対パス。name: (str, optional) コードアーティファクトの名前。デフォルトでは、アーティファクト名はsource-$PROJECT_ID-$ENTRYPOINT_RELPATHになります。複数の run 間で同じアーティファクトを共有したい場合もあります。そのような場合はnameを指定してください。include_fn: ファイルパスと(任意で)root パスを受け取り、そのファイルを含める場合はTrue、含めない場合はFalseを返す呼び出し可能オブジェクト。defaults tolambda path, root: path.endswith(".py")にデフォルト設定されています。exclude_fn: ファイルパスと(任意で)root パスを受け取り、そのファイルを除外する場合はTrue、除外しない場合はFalseを返す呼び出し可能オブジェクト。デフォルトでは、<root>/.wandb/および<root>/wandb/ディレクトリ内のすべてのファイルを除外する関数が使用されます。
Artifact オブジェクトを返します
method Run.log_model
path: (str) このモデルの内容へのパス。次の形式を取ることができます:/local/directory/local/directory/file.txts3://bucket/path
name: ファイル内容が追加されるモデル アーティファクトに割り当てる名前。指定しない場合は、デフォルトで現在の run の ID をpathのベース名の前に付けた名前になります。aliases: 作成されるモデル アーティファクトに適用されるエイリアス。デフォルトは["latest"]です。
ValueError:nameに無効な特殊文字が含まれている場合。
メソッド Run.mark_preempting
メソッド 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 が見つからない場合。
メソッド Run.save
"myfiles/*" のような Unix グロブは、policy に関係なく save が呼び出された時点で展開されます。特に、新しいファイルは自動的には対象になりません。
アップロードされるファイルのディレクトリ構造を制御するために base_path を指定できます。これは glob_str のプレフィックスである必要があり、その配下のディレクトリ構造は保持されます。
絶対パスまたはグロブが base_path なしで指定された場合、上記の例のように 1 階層分のディレクトリ構造が保持されます。
ファイルは自動的に重複排除されます。同じファイルを変更せずに save() を複数回呼び出しても、再アップロードは行われません。
引数:
glob_str: 相対または絶対パス、もしくは Unix グロブ。base_path: ディレクトリ構造を推論するために使用するパス。例を参照してください。policy:live,now, またはendのいずれか。- live: ファイルが変更されるたびにアップロードし、以前のバージョンを上書きする
- now: 現時点で 1 回だけファイルをアップロードする
- end: run の終了時にファイルをアップロードする
メソッド Run.status
method Run.unwatch
models:watchが呼び出された pytorch モデルの省略可能なリスト。
メソッド Run.upsert_artifact
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’ という部分文字列が含まれていない場合に発生します。
メソッド Run.watch
models: 監視対象となる単一のモデル、または複数モデルからなるシーケンス。criterion: 最適化する損失関数(任意)。log: “gradients”、“parameters”、または “all” のどれをログに記録するかを指定します。ログを無効にするには None を設定します。(default=“gradients”)log_freq: 勾配とパラメータをログに記録する頻度(バッチ数単位)。(default=1000)idx:wandb.watchで複数のモデルを追跡する際に使用するインデックス。(default=None)log_graph: モデルの計算グラフをログに記録するかどうか。(default=False)
wandb.init() が呼び出されていない場合、またはいずれかのモデルが torch.nn.Module のインスタンスでない場合。