これは、このセクションの複数ページの印刷可能なビューです。 印刷するには、ここをクリックしてください.

このページの通常のビューに戻る.

Python Library

wandb を使用して、機械学習の作業を追跡します。

モデルの学習とファインチューン、実験からプロダクションまでのモデルを管理します。

ガイド と例については、https://docs.wandb.ai を参照してください。

スクリプト とインタラクティブな notebook については、https://github.com/wandb/examples を参照してください。

リファレンスドキュメントについては、https://docs.wandb.com/ref/python を参照してください。

クラス

class Artifact: データセット とモデルの バージョン管理のための、柔軟で軽量な構成要素。

class Run: wandb によって記録される計算の単位。通常、これは ML の実験です。

関数

agent(...): 1つまたは複数の sweep agent を起動します。

controller(...): パブリック sweep controller コンストラクタ。

finish(...): run を終了し、残りのデータをアップロードします。

init(...): 新しい run を開始して、W&B への追跡とログ記録を行います。

log(...): run データをアップロードします。

login(...): W&B のログイン認証情報を設定します。

save(...): 1つまたは複数のファイルを W&B に同期します。

sweep(...): ハイパーパラメーター探索 を初期化します。

watch(...): 指定された PyTorch モデルにフックして、勾配 とモデルの計算グラフを監視します。

その他のメンバー
__version__ '0.19.8'
config
summary

1 - agent

1 つ以上の sweep agent を起動します。

agent(
    sweep_id: str,
    function: Optional[Callable] = None,
    entity: Optional[str] = None,
    project: Optional[str] = None,
    count: Optional[int] = None
) -> None

sweep agent は、どの sweep の一部であるか、どの関数を実行するか、(オプションで) 実行する agent の数を sweep_id を使用して認識します。

Args
sweep_id sweep の一意の識別子。 sweep ID は、W&B CLI または Python SDK によって生成されます。
function sweep config で指定された「program」の代わりに使用する関数。
entity sweep によって作成された W&B run の送信先となる、 ユーザー 名または Team 名。指定する entity がすでに存在することを確認してください。 entity を指定しない場合、run はデフォルトの entity (通常は ユーザー 名) に送信されます。
project sweep から作成された W&B run の送信先となる Project の名前。 Project が指定されていない場合、run は「Uncategorized」というラベルの Project に送信されます。
count 試行する sweep config トライアル の数。

2 - Artifact

データセット と モデル の バージョン管理 のための、柔軟 で 軽量 な 構成要素 です。

Artifact(
    name: str,
    type: str,
    description: (str | None) = None,
    metadata: (dict[str, Any] | None) = None,
    incremental: bool = (False),
    use_as: (str | None) = None
) -> None

空 の W&B Artifact を構築します。add で始まる メソッド で Artifact の コンテンツ を 設定 します。Artifact に 必要な ファイル が 全て 揃ったら、wandb.log_artifact() を 呼び出して ログ に 記録 できます。

arg
name Artifact の わかりやすい 名前。この 名前 を 使用して、W&B App UI で 特定 の Artifact を 識別したり、プログラム で 識別したりします。use_artifact Public API を 使用して、Artifact をインタラクティブ に 参照 できます。名前 には、文字、数字、アンダースコア、ハイフン、ドット を 含める ことができます。名前 は プロジェクト 全体 で 一意 で ある 必要 が あります。
type Artifact の タイプ。Artifact の タイプ を 使用して、Artifact を 整理 および 区別 します。文字、数字、アンダースコア、ハイフン、ドット を 含む 任意 の 文字列 を 使用 できます。一般的 な タイプ には、datasetmodel があります。Artifact を W&B Model Registry に リンク する 場合 は、タイプ 文字列 に model を 含めます。
description Artifact の 説明。Model または Dataset Artifact の 場合 は、標準化 された チームモデル または データセット カード の ドキュメント を 追加 します。Artifact.description 属性 を 使用して プログラム で、または W&B App UI を 使用して プログラム で Artifact の 説明 を 表示 します。W&B は、W&B App で 説明 を Markdown として レンダリング します。
metadata Artifact に関する 追加 情報。メタデータ を キー と 値 の ペア の ディクショナリー として 指定 します。合計 100 個 まで の キー を 指定 できます。
incremental 既存 の Artifact を 変更 する には、代わり に Artifact.new_draft() メソッド を 使用 します。
use_as W&B Launch 固有 の パラメータ。一般 的 な 使用 には お勧め しません。
戻り値
Artifact オブジェクト。
属性
aliases Artifact バージョン に 割り当てられた、1 つ または 複数 の 意味的に わかりやすい 参照 または 識別 用 の 「ニックネーム」 の リスト。エイリアス は、プログラム で 参照 できる 可変 参照 です。W&B App UI を 使用するか、プログラム で Artifact の エイリアス を 変更 します。詳細 については、新しい Artifact バージョン を 作成 する を 参照 して ください。
collection この Artifact が 取得 された コレクション。コレクション は Artifact バージョン の 順序付けられた グループ です。この Artifact が ポートフォリオ / リンクされた コレクション から 取得 された 場合、Artifact バージョン の 元 の コレクション で はなく、その コレクション が 返されます。Artifact の 元 の コレクション は、ソース シーケンス と 呼ばれます。
commit_hash この Artifact が コミット された とき に 返された ハッシュ。
created_at Artifact が 作成 された とき の タイムスタンプ。
description Artifact の 説明。
digest Artifact の 論理 ダイジェスト。ダイジェスト は Artifact の コンテンツ の チェックサム です。Artifact の ダイジェスト が 現在 の latest バージョン と 同じ 場合、log_artifact は 何も しません。
entity セカンダリ (ポートフォリオ) Artifact コレクション の エンティティ の 名前。
file_count ファイル の 数 (参照 を 含む)。
id Artifact の ID。
manifest Artifact の マニフェスト。マニフェスト には 全て の コンテンツ が リスト されており、Artifact が ログ に 記録 された 後 は 変更 できません。
metadata ユーザー定義 の Artifact メタデータ。Artifact に 関連付けられた 構造化 データ。
name セカンダリ (ポートフォリオ) コレクション 内 の Artifact 名 と バージョン。{collection}:{alias} という 形式 の 文字列。Artifact が 保存 される 前 は、バージョン が まだ わからない ため、名前 のみ が 含まれます。
project セカンダリ (ポートフォリオ) Artifact コレクション の プロジェクト の 名前。
qualified_name セカンダリ (ポートフォリオ) コレクション の エンティティ / プロジェクト / 名前。
size Artifact の 合計 サイズ (バイト単位)。この Artifact で 追跡 される 全て の 参照 が 含まれます。
source_collection Artifact の プライマリ (シーケンス) コレクション。
source_entity プライマリ (シーケンス) Artifact コレクション の エンティティ の 名前。
source_name プライマリ (シーケンス) コレクション 内 の Artifact 名 と バージョン。{collection}:{alias} という 形式 の 文字列。Artifact が 保存 される 前 は、バージョン が まだ わからない ため、名前 のみ が 含まれます。
source_project プライマリ (シーケンス) Artifact コレクション の プロジェクト の 名前。
source_qualified_name プライマリ (シーケンス) コレクション の エンティティ / プロジェクト / 名前。
source_version プライマリ (シーケンス) コレクション 内 の Artifact の バージョン。v{number} という 形式 の 文字列。
state Artifact の ステータス。「PENDING」、「COMMITTED」、または「DELETED」 の いずれか。
tags この Artifact バージョン に 割り当てられた 1 つ または 複数 の タグ の リスト。
ttl Artifact の Time-To-Live (TTL) ポリシー。Artifact は TTL ポリシー の 期間 が 経過 すると すぐ に 削除 されます。None に 設定 すると、Artifact は TTL ポリシー を 非アクティブ化 し、チーム の デフォルト TTL が あっても 削除 の スケジュール は 設定 されません。チーム 管理者 が デフォルト の TTL を 定義 し、Artifact に カスタム ポリシー が 設定 されていない 場合、Artifact は チーム の デフォルト から TTL ポリシー を 継承 します。
type Artifact の タイプ。一般的 な タイプ には、datasetmodel があります。
updated_at Artifact が 最後 に 更新 された 時刻。
url Artifact の URL を 構築します。
version セカンダリ (ポートフォリオ) コレクション 内 の Artifact の バージョン。

メソッド

add

View source

add(
    obj: WBValue,
    name: StrPath,
    overwrite: bool = (False)
) -> ArtifactManifestEntry

wandb.WBValue obj を Artifact に 追加 します。

arg
obj 追加 する オブジェクト。現在、Bokeh、JoinedTable、PartitionedTable、Table、Classes、ImageMask、BoundingBoxes2D、Audio、Image、Video、Html、Object3D の いずれか 1 つ を サポート しています。
name オブジェクト を 追加 する Artifact 内 の パス。
overwrite True の 場合、同じ ファイル パス を 持つ 既存 の オブジェクト を 上書き します (該当 する 場合)。
戻り値
追加 された マニフェスト エントリー
例外
ArtifactFinalizedError 現在 の Artifact バージョン は 確定 されているため、変更 できません。代わり に 新しい Artifact バージョン を ログ に 記録 して ください。

add_dir

View source

add_dir(
    local_path: str,
    name: (str | None) = None,
    skip_cache: (bool | None) = (False),
    policy: (Literal['mutable', 'immutable'] | None) = "mutable"
) -> None

ローカル ディレクトリ を Artifact に 追加 します。

arg
local_path ローカル ディレクトリ の パス。
name Artifact 内 の サブ ディレクトリ 名。指定 する 名前 は、Artifact の type で ネスト された W&B App UI に 表示 されます。デフォルト は Artifact の ルート です。
skip_cache True に 設定 すると、W&B は アップロード 中 に ファイル を キャッシュ に コピー / 移動 しません。
policy “mutable”
例外
ArtifactFinalizedError 現在 の Artifact バージョン は 確定 されているため、変更 できません。代わり に 新しい Artifact バージョン を ログ に 記録 して ください。
ValueError ポリシー は “mutable” または “immutable” で ある 必要 があります。

add_file

View source

add_file(
    local_path: str,
    name: (str | None) = None,
    is_tmp: (bool | None) = (False),
    skip_cache: (bool | None) = (False),
    policy: (Literal['mutable', 'immutable'] | None) = "mutable",
    overwrite: bool = (False)
) -> ArtifactManifestEntry

ローカル ファイル を Artifact に 追加 します。

arg
local_path 追加 する ファイル の パス。
name 追加 する ファイル に 使用 する Artifact 内 の パス。デフォルト は ファイル の basename です。
is_tmp True の 場合、ファイル の 名前 が 決定 的 に 変更 され、衝突 が 回避 されます。
skip_cache True の 場合、W&B は アップロード 後 に ファイル を キャッシュ に コピー しません。
policy デフォルト では、“mutable” に 設定 されます。“mutable” に 設定 すると、アップロード 中 に 破損 を 防ぐ ため に、ファイル の 一時 コピー が 作成 されます。“immutable” に 設定 すると、保護 が 無効 になり、ユーザー が ファイル を 削除 または 変更 しない こと に 依存 します。
overwrite True の 場合、ファイル が 既に 存在 する 場合 は 上書き します。
戻り値
追加 された マニフェスト エントリー。
例外
ArtifactFinalizedError 現在 の Artifact バージョン は 確定 されているため、変更 できません。代わり に 新しい Artifact バージョン を ログ に 記録 して ください。
ValueError ポリシー は “mutable” または “immutable” で ある 必要 があります。

add_reference

View source

add_reference(
    uri: (ArtifactManifestEntry | str),
    name: (StrPath | None) = None,
    checksum: bool = (True),
    max_objects: (int | None) = None
) -> Sequence[ArtifactManifestEntry]

URI で 示される 参照 を Artifact に 追加 します。

Artifact に 追加 する ファイル または ディレクトリ とは 異なり、参照 は W&B に アップロード されません。詳細 については、外部 ファイル の 追跡 を 参照 して ください。

デフォルト では、次 の スキーム が サポート されています。

  • http(s) : ファイル の サイズ と ダイジェスト は、サーバー から 返される Content-LengthETag レスポンス ヘッダー によって 推測 されます。
  • s3 : チェックサム と サイズ は オブジェクト メタデータ から 取得 されます。バケット の バージョン管理 が 有効 になっている 場合 は、バージョン ID も 追跡 されます。
  • gs : チェックサム と サイズ は オブジェクト メタデータ から 取得 されます。バケット の バージョン管理 が 有効 になっている 場合 は、バージョン ID も 追跡 されます。
  • https、ドメイン が *.blob.core.windows.net (Azure) と 一致 する : チェックサム と サイズ は BLOB メタデータ から 取得 されます。ストレージ アカウント の バージョン管理 が 有効 になっている 場合 は、バージョン ID も 追跡 されます。
  • file : チェックサム と サイズ は ファイル システム から 取得 されます。この スキーム は、追跡 する 必要 が ある が 必ずしも アップロード する 必要 が ない ファイル を 含む NFS 共有 または その他 の 外部 マウント された ボリューム が ある 場合 に 役立ちます。

その他 の スキーム の 場合、ダイジェスト は URI の ハッシュ に すぎず、サイズ は 空白 の まま に なります。

arg
uri 追加 する 参照 の URI パス。URI パス には、別 の Artifact の エントリー への 参照 を 格納 する ため に Artifact.get_entry から 返される オブジェクト を 指定 できます。
name この 参照 の コンテンツ を 配置 する Artifact 内 の パス。
checksum 参照 URI に ある リソース の チェックサム を 計算 する か どうか。チェックサム を 計算 すると、自動 整合性 検証 が 有効 になるため、強く お勧め し ます。チェックサム を 無効 にすると、Artifact の 作成 が 高速化 されますが、参照 ディレクトリ は 反復 処理 されないため、ディレクトリ 内 の オブジェクト は Artifact に 保存 されません。参照 オブジェクト を 追加 する 場合 は checksum=False を 設定 し、参照 URI が 変更 された 場合 にのみ 新しい バージョン が 作成 される よう に する こと を お勧め します。
max_objects ディレクトリ または バケット ストア プレフィックス を 指す 参照 を 追加 する 場合 に 考慮 する オブジェクト の 最大 数。デフォルト では、Amazon S3、GCS、Azure、および ローカル ファイル で 許可 される オブジェクト の 最大 数 は 10,000,000 です。その他 の URI スキーマ には 最大 値 が ありません。
戻り値
追加 された マニフェスト エントリー。
例外
ArtifactFinalizedError 現在 の Artifact バージョン は 確定 されているため、変更 できません。代わり に 新しい Artifact バージョン を ログ に 記録 して ください。

checkout

View source

checkout(
    root: (str | None) = None
) -> str

指定 された ルート ディレクトリ を Artifact の コンテンツ に 置き換え ます。

警告 : これ により、Artifact に 含まれていない root 内 の 全て の ファイル が 削除 されます。

arg
root この Artifact の ファイル で 置き換える ディレクトリ。
戻り値
チェックアウト された コンテンツ の パス。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。

delete

View source

delete(
    delete_aliases: bool = (False)
) -> None

Artifact と その ファイル を 削除 します。

リンクされた Artifact (つまり、ポートフォリオ コレクション の メンバー) で 呼び出された 場合 : リンク のみ が 削除 され、ソース Artifact は 影響 を 受けません。

arg
delete_aliases True に 設定 すると、Artifact に 関連付けられた 全て の エイリアス が 削除 されます。そう でない 場合、Artifact に 既存 の エイリアス が ある 場合 は 例外 が 発生 します。この パラメータ は、Artifact が リンクされている 場合 (つまり、ポートフォリオ コレクション の メンバー) は 無視 されます。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。

download

View source

download(
    root: (StrPath | None) = None,
    allow_missing_references: bool = (False),
    skip_cache: (bool | None) = None,
    path_prefix: (StrPath | None) = None
) -> FilePathStr

Artifact の コンテンツ を 指定 された ルート ディレクトリ に ダウンロード します。

root 内 に ある 既存 の ファイル は 変更 されません。root の コンテンツ を Artifact と 正確 に 一致 させる 場合 は、download を 呼び出す 前 に root を 明示 的 に 削除 して ください。

arg
root W&B が Artifact の ファイル を 格納 する ディレクトリ。
allow_missing_references True に 設定 すると、参照 ファイル の ダウンロード 中 に 無効 な 参照 パス は 無視 されます。
skip_cache True に 設定 すると、ダウンロード 時 に Artifact キャッシュ が スキップ され、W&B は 各 ファイル を デフォルト の ルート または 指定 された ダウンロード ディレクトリ に ダウンロード します。
path_prefix 指定 すると、指定 された プレフィックス で 始まる パス を 持つ ファイル のみ が ダウンロード されます。UNIX 形式 (フォワード スラッシュ) を 使用 します。
戻り値
ダウンロード された コンテンツ へ の パス。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。
RuntimeError Artifact を オフライン モード で ダウンロード しよう とした 場合。

file

View source

file(
    root: (str | None) = None
) -> StrPath

単一 の ファイル Artifact を root で 指定 する ディレクトリ に ダウンロード します。

arg
root ファイル を 格納 する ルート ディレクトリ。デフォルト は ‘./artifacts/self.name/’ です。
戻り値
ダウンロード された ファイル の フルパス。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。
ValueError Artifact に 複数 の ファイル が 含まれている 場合。

files

View source

files(
    names: (list[str] | None) = None,
    per_page: int = 50
) -> ArtifactFiles

この Artifact に 格納 されている 全て の ファイル を 反復 処理 します。

arg
names リスト する Artifact の ルート に 関連 する ファイル名 パス。
per_page リクエスト ごと に 返す ファイル の 数。
戻り値
File オブジェクト を 含む イテレーター。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。

finalize

View source

finalize() -> None

Artifact バージョン を 確定 します。

Artifact は 特定 の Artifact バージョン として ログ に 記録 される ため、確定 された Artifact バージョン は 変更 できません。新しい Artifact バージョン を 作成 して、Artifact に より 多く の データ を ログ に 記録 します。Artifact は、log_artifact で Artifact を ログ に 記録 すると 自動的 に 確定 されます。

get

View source

get(
    name: str
) -> (WBValue | None)

Artifact 関連 の name に ある WBValue オブジェクト を 取得 します。

arg
name 取得 する Artifact 関連 の 名前。
戻り値
wandb.log() で ログ に 記録 し、W&B UI で 可視化 できる W&B オブジェクト。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない か、run が オフライン の 場合。

get_added_local_path_name

View source

get_added_local_path_name(
    local_path: str
) -> (str | None)

ローカル ファイル システム パス によって 追加 された ファイル の Artifact 関連 の 名前 を 取得 します。

arg
local_path Artifact 関連 の 名前 に 解決 する ローカル パス。
戻り値
Artifact 関連 の 名前。

get_entry

View source

get_entry(
    name: StrPath
) -> ArtifactManifestEntry

指定 された 名前 の エントリー を 取得 します。

arg
name 取得 する Artifact 関連 の 名前
戻り値
W&B オブジェクト。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない か、run が オフライン の 場合。
KeyError Artifact に 指定 された 名前 の エントリー が 含まれていない 場合。

get_path

View source

get_path(
    name: StrPath
) -> ArtifactManifestEntry

非推奨。get_entry(name) を 使用 して ください。

is_draft

View source

is_draft() -> bool

Artifact が 保存 されていない か どうか を 確認 します。

戻り値 : ブール値。Artifact が 保存 されている 場合 は False。Artifact が 保存 されていない 場合 は True

json_encode

View source

json_encode() -> dict[str, Any]

Artifact を JSON 形式 に エンコード して 返します。

戻り値
Artifact の 属性 を 表す string キー を 持つ dict

View source

link(
    target_path: str,
    aliases: (list[str] | None) = None
) -> None

この Artifact を ポートフォリオ (Artifact の 昇格 された コレクション) に リンク します。

arg
target_path プロジェクト 内 の ポートフォリオ へ の パス。ターゲット パス は、{portfolio}{project}/{portfolio}、または {entity}/{project}/{portfolio} の いずれか の スキーマ に 準拠 して いる 必要 があります。Artifact を プロジェクト 内 の 一般 的 な ポートフォリオ で はなく、Model Registry に リンク する には、target_path を 次 の スキーマ {model-registry}/{Registered Model Name} または {entity}/{model-registry}/{Registered Model Name} に 設定 します。
aliases 指定 された ポートフォリオ 内 の Artifact を 一意 に 識別 する 文字列 の リスト。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。

logged_by

View source

logged_by() -> (Run | None)

Artifact を 最初 に ログ に 記録 した W&B run を 取得 します。

戻り値
Artifact を 最初 に ログ に 記録 した W&B run の 名前。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。

new_draft

View source

new_draft() -> Artifact

この コミット された Artifact と 同じ コンテンツ を 持つ 新しい ドラフト Artifact を 作成 します。

既存 の Artifact を 変更 すると、「増分 Artifact」 と 呼ば れる 新しい Artifact バージョン が 作成 されます。返された Artifact は、拡張 または 変更 して 新しい バージョン として ログ に 記録 できます。

戻り値
Artifact オブジェクト。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。

new_file

View source

@contextlib.contextmanager
new_file(
    name: str,
    mode: str = "x",
    encoding: (str | None) = None
) -> Iterator[IO]

新しい 一時 ファイル を 開き、Artifact に 追加 します。

arg
name Artifact に 追加 する 新しい ファイル の 名前。
mode 新しい ファイル を 開く ため に 使用 する ファイル アクセス モード。
encoding 新しい ファイル を 開く ため に 使用 する エンコード。
戻り値
書き込み 可能 な 新しい ファイル オブジェクト。閉じると、ファイル は 自動的 に Artifact に 追加 されます。
例外
ArtifactFinalizedError 現在 の Artifact バージョン は 確定 されているため、変更 できません。代わり に 新しい Artifact バージョン を ログ に 記録 して ください。

remove

View source

remove(
    item: (StrPath | ArtifactManifestEntry)
) -> None

Artifact から アイテム を 削除 します。

arg
item 削除 する アイテム。特定 の マニフェスト エントリー または Artifact 関連 の パス の 名前 に する ことができます。アイテム が ディレクトリ と 一致 する 場合、その ディレクトリ 内 の 全て の アイテム が 削除 されます。
例外
ArtifactFinalizedError 現在 の Artifact バージョン は 確定 されているため、変更 できません。代わり に 新しい Artifact バージョン を ログ に 記録 して ください。
FileNotFoundError Artifact に アイテム が 見つからない 場合。

save

View source

save(
    project: (str | None) = None,
    settings: (wandb.Settings | None) = None
) -> None

Artifact に 行われた 変更 を 永続 化 します。

現在 run 内 に ある 場合、その run は この Artifact を ログ に 記録 します。現在 run 内 に ない 場合、「auto」 タイプ の run が 作成 され、この Artifact を 追跡 します。

arg
project run が 既に コンテキスト 内 に ない 場合 に Artifact に 使用 する プロジェクト。
settings 自動 run を 初期化 する とき に 使用 する settings オブジェクト。最も 一般 的 に テスト ハーネス で 使用 されます。

View source

unlink() -> None

この Artifact が 現在 ポートフォリオ (Artifact の 昇格 された コレクション) の メンバー で ある 場合 は、リンク を 解除 します。

例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。
ValueError Artifact が リンクされていない 場合、つまり ポートフォリオ コレクション の メンバー でない 場合。

used_by

View source

used_by() -> list[Run]

この Artifact を 使用 した run の リスト を 取得 します。

戻り値
Run オブジェクト の リスト。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。

verify

View source

verify(
    root: (str | None) = None
) -> None

Artifact の コンテンツ が マニフェスト と 一致 する こと を 確認 します。

ディレクトリ 内 の 全て の ファイル が チェックサム され、チェックサム が Artifact の マニフェスト と 相互 参照 されます。参照 は 検証 されません。

arg
root 検証 する ディレクトリ。None の 場合、Artifact は ‘./artifacts/self.name/’ に ダウンロード されます。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない 場合。
ValueError 検証 に 失敗 した場合。

wait

View source

wait(
    timeout: (int | None) = None
) -> Artifact

必要 に 応じ て、この Artifact が ログ 記録 を 完了 する まで 待ちます。

arg
timeout 待機 する 時間 (秒単位)。
戻り値
Artifact オブジェクト。

__getitem__

View source

__getitem__(
    name: str
) -> (WBValue | None)

Artifact 関連 の name に ある WBValue オブジェクト を 取得 します。

arg
name 取得 する Artifact 関連 の 名前。
戻り値
wandb.log() で ログ に 記録 し、W&B UI で 可視化 できる W&B オブジェクト。
例外
ArtifactNotLoggedError Artifact が ログ に 記録 されていない か、run が オフライン の 場合。

__setitem__

View source

__setitem__(
    name: str,
    item: WBValue
) -> ArtifactManifestEntry

パス name に ある Artifact に item を 追加 します。

arg
name オブジェクト を 追加 する Artifact 内 の パス。
item 追加 する オブジェクト。
戻り値
追加 された マニフェスト エントリー
例外
ArtifactFinalizedError 現在 の Artifact バージョン は 確定 されているため、変更 できません。代わり に 新しい Artifact バージョン を ログ に 記録 して ください。

3 - controller

パブリック sweep コントローラのコンストラクタ。

controller(
    sweep_id_or_config: Optional[Union[str, Dict]] = None,
    entity: Optional[str] = None,
    project: Optional[str] = None
) -> "_WandbController"

使用方法:

import wandb

tuner = wandb.controller(...)
print(tuner.sweep_config)
print(tuner.sweep_id)
tuner.configure_search(...)
tuner.configure_stopping(...)

4 - Data Types

このモジュールでは、リッチでインタラクティブな 可視化 を W&B に ログ するための データ 型を定義します。

データ 型には、画像、音声、ビデオなどの一般的なメディア タイプ、テーブル や HTML などの情報の柔軟なコンテナなどが含まれます。

メディアの ログ に関する詳細については、ガイド を参照してください。

インタラクティブな データセット および model の 分析 用に構造化された データを ログ する方法の詳細については、W&B Tables に関するガイド を参照してください。

これらの特殊な データ 型はすべて、WBValue のサブクラスです。すべての データ 型は JSON にシリアライズされます。これは、wandb が オブジェクト をローカルに保存し、W&B サーバー にアップロードするために使用する方法だからです。

クラス

class Audio: オーディオクリップ用の Wandb クラス。

class BoundingBoxes2D: W&B に ログ するための2D バウンディングボックス オーバーレイを含む画像形式。

class Graph: グラフ用の Wandb クラス。

class Histogram: ヒストグラム用の wandb クラス。

class Html: 任意の html 用の Wandb クラス。

class Image: W&B に ログ するための画像形式。

class ImageMask: W&B に ログ するための画像マスクまたはオーバーレイ形式。

class Molecule: 3D 分子 データ 用の Wandb クラス。

class Object3D: 3D ポイントクラウド用の Wandb クラス。

class Plotly: plotly プロット用の Wandb クラス。

class Table: 表形式の データを表示および 分析 するために使用される Table クラス。

class Video: W&B に ログ するためのビデオ形式。

class WBTraceTree: トレース ツリー データ 用のメディア オブジェクト。

4.1 - Audio

オーディオクリップ用の Wandb クラス。

Audio(
    data_or_path, sample_rate=None, caption=None
)
arg
data_or_path (string または numpy 配列) オーディオファイルへのパス、またはオーディオ データの numpy 配列。
sample_rate (int) サンプルレート。生の numpy 配列のオーディオデータを渡す場合に必須。
caption (string) オーディオと一緒に表示するキャプション。

メソッド

durations

ソースを表示

@classmethod
durations(
    audio_list
)

resolve_ref

ソースを表示

resolve_ref()

sample_rates

ソースを表示

@classmethod
sample_rates(
    audio_list
)

4.2 - BoundingBoxes2D

W&B にログを記録するために、2D 境界ボックスのオーバーレイで画像をフォーマットします。

BoundingBoxes2D(
    val: dict,
    key: str
) -> None
arg
val (辞書) 次の形式の辞書: box_data: (辞書のリスト) 各境界ボックスに対して1つの辞書を含みます: position: (辞書) 境界ボックスの位置とサイズ。次の2つの形式のいずれかです。ボックスはすべて同じ形式を使用する必要はありません。{“minX”, “minY”, “maxX”, “maxY”}: (辞書) ボックスの上限と下限を定義する座標のセット (左下隅と右上隅) {“middle”, “width”, “height”}: (辞書) ボックスの中心と寸法を定義する座標のセット。「middle」は中心点のリスト [x, y] で、「width」と「height」は数値です。domain: (文字列) 境界ボックスの座標ドメインの2つのオプションのいずれか: null: デフォルト、または引数が渡されない場合、座標ドメインは元の画像に対する相対的なものと見なされ、このボックスを元の画像の分数またはパーセンテージとして表現します。これは、「position」引数に渡されるすべての座標と寸法が0から1の間の浮動小数点数であることを意味します。「pixel」: (文字列リテラル) 座標ドメインはピクセル空間に設定されます。これは、「position」に渡されるすべての座標と寸法が画像寸法の範囲内の整数であることを意味します。class_id: (整数) このボックスのクラスラベルID scores: (文字列から数値への辞書、オプション) 名前付きフィールドから数値 (floatまたはint) へのマッピング。対応するフィールドの値の範囲に基づいてUIでボックスをフィルタリングするために使用できます。box_caption: (文字列、オプション) UIでこのボックスの上にラベルテキストとして表示される文字列。多くの場合、クラスラベル、クラス名、またはスコアで構成されます。class_labels: (辞書、オプション) 整数のクラスラベルから読み取り可能なクラス名へのマップ
key (文字列) この境界ボックスセットの読みやすい名前またはID (例: predictions、ground_truth)

例:

単一の画像の境界ボックスをログに記録する

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(200, 300, 3))

class_labels = {0: "person", 1: "car", 2: "road", 3: "building"}

img = wandb.Image(
    image,
    boxes={
        "predictions": {
            "box_data": [
                {
                    # 1つのボックスは、デフォルトの相対/小数ドメインで表現されます
                    "position": {
                        "minX": 0.1,
                        "maxX": 0.2,
                        "minY": 0.3,
                        "maxY": 0.4,
                    },
                    "class_id": 1,
                    "box_caption": class_labels[1],
                    "scores": {"acc": 0.2, "loss": 1.2},
                },
                {
                    # 別のボックスは、ピクセル ドメインで表現されます
                    "position": {
                        "middle": [150, 20],
                        "width": 68,
                        "height": 112,
                    },
                    "domain": "pixel",
                    "class_id": 3,
                    "box_caption": "a building",
                    "scores": {"acc": 0.5, "loss": 0.7},
                },
                # 必要に応じて、できるだけ多くのボックスをログに記録します
            ],
            "class_labels": class_labels,
        }
    },
)

run.log({"driving_scene": img})

Table に境界ボックスのオーバーレイをログに記録する

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(200, 300, 3))

class_labels = {0: "person", 1: "car", 2: "road", 3: "building"}

class_set = wandb.Classes(
    [
        {"name": "person", "id": 0},
        {"name": "car", "id": 1},
        {"name": "road", "id": 2},
        {"name": "building", "id": 3},
    ]
)

img = wandb.Image(
    image,
    boxes={
        "predictions": {
            "box_data": [
                {
                    # 1つのボックスは、デフォルトの相対/小数ドメインで表現されます
                    "position": {
                        "minX": 0.1,
                        "maxX": 0.2,
                        "minY": 0.3,
                        "maxY": 0.4,
                    },
                    "class_id": 1,
                    "box_caption": class_labels[1],
                    "scores": {"acc": 0.2, "loss": 1.2},
                },
                {
                    # 別のボックスは、ピクセル ドメインで表現されます
                    "position": {
                        "middle": [150, 20],
                        "width": 68,
                        "height": 112,
                    },
                    "domain": "pixel",
                    "class_id": 3,
                    "box_caption": "a building",
                    "scores": {"acc": 0.5, "loss": 0.7},
                },
                # 必要に応じて、できるだけ多くのボックスをログに記録します
            ],
            "class_labels": class_labels,
        }
    },
    classes=class_set,
)

table = wandb.Table(columns=["image"])
table.add_data(img)
run.log({"driving_scene": table})

メソッド

type_name

ソースを表示

@classmethod
type_name() -> str

validate

ソースを表示

validate(
    val: dict
) -> bool

4.3 - Graph

グラフのための Wandb クラス。

Graph(
    format="keras"
)

このクラスは通常、ニューラルネットのモデルを保存および表示するために使用されます。これは、ノードとエッジの配列としてグラフを表します。ノードは wandb で可視化できるラベルを持つことができます。

例:

keras モデルをインポートします:

Graph.from_keras(keras_model)

メソッド

add_edge

View source

add_edge(
    from_node, to_node
)

add_node

View source

add_node(
    node=None, **node_kwargs
)

from_keras

View source

@classmethod
from_keras(
    model
)

pprint

View source

pprint()

__getitem__

View source

__getitem__(
    nid
)

4.4 - Histogram

ヒストグラム用の wandb クラス。

Histogram(
    sequence: Optional[Sequence] = None,
    np_histogram: Optional['NumpyHistogram'] = None,
    num_bins: int = 64
) -> None

このオブジェクトは、numpy の histogram 関数とまったく同様に機能します。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

例:

シーケンスからヒストグラムを生成

wandb.Histogram([1, 2, 3])

np.histogram から効率的に初期化。

hist = np.histogram(data)
wandb.Histogram(np_histogram=hist)
Args
sequence (array_like) ヒストグラムの入力 データ
np_histogram (numpy histogram) 事前計算されたヒストグラムの代替入力
num_bins (int) ヒストグラムのビンの数。デフォルトのビンの数は 64 です。ビンの最大数は 512 です。
Attributes
bins ([float]) ビンのエッジ
histogram ([int]) 各ビンに該当する要素の数
Class Variables
MAX_LENGTH 512

4.5 - Html

任意の HTML に対する Wandb クラス。

Html(
    data: Union[str, 'TextIO'],
    inject: bool = (True)
) -> None
Args
data (文字列または io オブジェクト) wandb に表示する HTML。
inject (boolean) スタイルシートを HTML オブジェクトに追加します。False に設定すると、HTML は変更されずに渡されます。

メソッド

inject_head

ソースを表示

inject_head() -> None

4.6 - Image

W&B に ログ記録 するための画像形式。

Image(
    data_or_path: "ImageDataOrPathType",
    mode: Optional[str] = None,
    caption: Optional[str] = None,
    grouping: Optional[int] = None,
    classes: Optional[Union['Classes', Sequence[dict]]] = None,
    boxes: Optional[Union[Dict[str, 'BoundingBoxes2D'], Dict[str, dict]]] = None,
    masks: Optional[Union[Dict[str, 'ImageMask'], Dict[str, dict]]] = None,
    file_type: Optional[str] = None
) -> None
arg
data_or_path (numpy array, string, io) 画像データの numpy array、または PIL image を受け入れます。クラスはデータ形式の推測を試み、変換します。
mode (string) 画像の PIL モード。最も一般的なものは “L”、“RGB”、“RGBA” です。詳細な説明は https://pillow.readthedocs.io/en/stable/handbook/concepts.html#modes を参照してください。
caption (string) 画像表示用のラベル。

Note : torch.Tensorwandb.Image として ログ記録 する場合、画像は正規化されます。画像を正規化しない場合は、テンソルを PIL Image に変換してください。

Examples:

numpy array から wandb.Image を作成する

import numpy as np
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
        image = wandb.Image(pixels, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})

PILImage から wandb.Image を作成する

import numpy as np
from PIL import Image as PILImage
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(
            low=0, high=256, size=(100, 100, 3), dtype=np.uint8
        )
        pil_image = PILImage.fromarray(pixels, mode="RGB")
        image = wandb.Image(pil_image, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})

.png (デフォルト) ではなく .jpg を ログ記録 する

import numpy as np
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
        image = wandb.Image(pixels, caption=f"random field {i}", file_type="jpg")
        examples.append(image)
    run.log({"examples": examples})
Attributes

メソッド

all_boxes

View source

@classmethod
all_boxes(
    images: Sequence['Image'],
    run: "LocalRun",
    run_key: str,
    step: Union[int, str]
) -> Union[List[Optional[dict]], bool]

all_captions

View source

@classmethod
all_captions(
    images: Sequence['Media']
) -> Union[bool, Sequence[Optional[str]]]

all_masks

View source

@classmethod
all_masks(
    images: Sequence['Image'],
    run: "LocalRun",
    run_key: str,
    step: Union[int, str]
) -> Union[List[Optional[dict]], bool]

guess_mode

View source

guess_mode(
    data: "np.ndarray"
) -> str

np.array が表す画像のタイプを推測します。

to_uint8

View source

@classmethod
to_uint8(
    data: "np.ndarray"
) -> "np.ndarray"

画像データを uint8 に変換します。

[0,1] の範囲の浮動小数点画像と、[0,255] の範囲の整数画像を uint8 に変換し、必要に応じてクリップします。

Class Variables
MAX_DIMENSION 65500
MAX_ITEMS 108

4.7 - ImageMask

W&B に ログ を記録するための画像マスクまたはオーバーレイのフォーマット。

ImageMask(
    val: dict,
    key: str
) -> None
arg
val (dictionary) 画像を表す次の2つの キー のいずれか: mask_data : (2D numpy 配列) 画像内の各ピクセルの整数クラスラベルを含むマスク path : (string) マスクの保存された画像ファイルへのパス class_labels : (integer から string への dictionary, optional) マスク内の integer クラスラベルから読み取り可能なクラス名へのマッピング。これらはデフォルトで class_0, class_1, class_2 などになります。
key (string) このマスクタイプの読み取り可能な名前または ID (例: predictions, ground_truth)

例:

マスクされた単一の画像を ログ に記録する

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(100, 100, 3), dtype=np.uint8)
predicted_mask = np.empty((100, 100), dtype=np.uint8)
ground_truth_mask = np.empty((100, 100), dtype=np.uint8)

predicted_mask[:50, :50] = 0
predicted_mask[50:, :50] = 1
predicted_mask[:50, 50:] = 2
predicted_mask[50:, 50:] = 3

ground_truth_mask[:25, :25] = 0
ground_truth_mask[25:, :25] = 1
ground_truth_mask[:25, 25:] = 2
ground_truth_mask[25:, 25:] = 3

class_labels = {0: "person", 1: "tree", 2: "car", 3: "road"}

masked_image = wandb.Image(
    image,
    masks={
        "predictions": {
            "mask_data": predicted_mask,
            "class_labels": class_labels,
        },
        "ground_truth": {
            "mask_data": ground_truth_mask,
            "class_labels": class_labels,
        },
    },
)
run.log({"img_with_masks": masked_image})

Table 内でマスクされた画像を ログ に記録する

import numpy as np
import wandb

run = wandb.init()
image = np.random.randint(low=0, high=256, size=(100, 100, 3), dtype=np.uint8)
predicted_mask = np.empty((100, 100), dtype=np.uint8)
ground_truth_mask = np.empty((100, 100), dtype=np.uint8)

predicted_mask[:50, :50] = 0
predicted_mask[50:, :50] = 1
predicted_mask[:50, 50:] = 2
predicted_mask[50:, 50:] = 3

ground_truth_mask[:25, :25] = 0
ground_truth_mask[25:, :25] = 1
ground_truth_mask[:25, 25:] = 2
ground_truth_mask[25:, 25:] = 3

class_labels = {0: "person", 1: "tree", 2: "car", 3: "road"}

class_set = wandb.Classes(
    [
        {"name": "person", "id": 0},
        {"name": "tree", "id": 1},
        {"name": "car", "id": 2},
        {"name": "road", "id": 3},
    ]
)

masked_image = wandb.Image(
    image,
    masks={
        "predictions": {
            "mask_data": predicted_mask,
            "class_labels": class_labels,
        },
        "ground_truth": {
            "mask_data": ground_truth_mask,
            "class_labels": class_labels,
        },
    },
    classes=class_set,
)

table = wandb.Table(columns=["image"])
table.add_data(masked_image)
run.log({"random_field": table})

メソッド

type_name

View source

@classmethod
type_name() -> str

validate

View source

validate(
    val: dict
) -> bool

4.8 - Molecule

3D分子データ用のWandbクラス。

Molecule(
    data_or_path: Union[str, 'TextIO'],
    caption: Optional[str] = None,
    **kwargs
) -> None
arg
data_or_path (string, io) Moleculeは、ファイル名またはio オブジェクトから初期化できます。
caption (string) 表示用に分子に関連付けられたキャプション。

メソッド

from_rdkit

View source

@classmethod
from_rdkit(
    data_or_path: "RDKitDataType",
    caption: Optional[str] = None,
    convert_to_3d_and_optimize: bool = (True),
    mmff_optimize_molecule_max_iterations: int = 200
) -> "Molecule"

RDKitがサポートするファイル/オブジェクトタイプをwandb.Moleculeに変換します。

arg
data_or_path (string, rdkit.Chem.rdchem.Mol) Moleculeは、ファイル名またはrdkit.Chem.rdchem.Molオブジェクトから初期化できます。
caption (string) 表示用に分子に関連付けられたキャプション。
convert_to_3d_and_optimize (bool) 3D座標を持つrdkit.Chem.rdchem.Molに変換します。これは、複雑な分子の場合、時間がかかる可能性のあるコストのかかる操作です。
mmff_optimize_molecule_max_iterations (int) rdkit.Chem.AllChem.MMFFOptimizeMolecule で使用する反復回数

from_smiles

View source

@classmethod
from_smiles(
    data: str,
    caption: Optional[str] = None,
    sanitize: bool = (True),
    convert_to_3d_and_optimize: bool = (True),
    mmff_optimize_molecule_max_iterations: int = 200
) -> "Molecule"

SMILES文字列をwandb.Moleculeに変換します。

arg
data (string) SMILES文字列。
caption (string) 分子表示に関連付けられたキャプション
sanitize (bool) RDKitの定義により、分子が化学的に合理的であるかどうかを確認します。
convert_to_3d_and_optimize (bool) 3D座標を持つrdkit.Chem.rdchem.Molに変換します。これは、複雑な分子の場合、時間がかかる可能性のあるコストのかかる操作です。
mmff_optimize_molecule_max_iterations (int) rdkit.Chem.AllChem.MMFFOptimizeMolecule で使用する反復回数
クラス変数
SUPPORTED_RDKIT_TYPES
SUPPORTED_TYPES

4.9 - Object3D

3Dポイントクラウド用のWandbクラス。

Object3D(
    data_or_path: Union['np.ndarray', str, 'TextIO', dict],
    **kwargs
) -> None
arg
data_or_path (numpy array, string, io) Object3D は、ファイルまたは numpy array から初期化できます。ファイルへのパスまたは io オブジェクトと、SUPPORTED_TYPES のいずれかである必要がある file_type を渡すことができます。

numpy array の形状は、次のいずれかである必要があります。

[[x y z],       ...] nx3
[[x y z c],     ...] nx4  ここで、c はサポートされている範囲 [1, 14] のカテゴリです。
[[x y z r g b], ...] nx6 ここで、rgb は色です。

メソッド

from_file

View source

@classmethod
from_file(
    data_or_path: Union['TextIO', str],
    file_type: Optional['FileFormat3D'] = None
) -> "Object3D"

ファイルまたはストリームから Object3D を初期化します。

arg
data_or_path (Union[“TextIO”, str]): ファイルへのパスまたは TextIO ストリーム。 file_type (str): data_or_path に渡されるデータ形式を指定します。data_or_pathTextIO ストリームの場合に必要です。このパラメータは、ファイルパスが指定されている場合は無視されます。タイプはファイル拡張子から取得されます。

from_numpy

View source

@classmethod
from_numpy(
    data: "np.ndarray"
) -> "Object3D"

numpy array から Object3D を初期化します。

arg
data (numpy array): array の各エントリは、ポイントクラウド内の 1 つのポイントを表します。

numpy array の形状は、次のいずれかである必要があります。

[[x y z],       ...]  # nx3.
[[x y z c],     ...]  # nx4 ここで、c はサポートされている範囲 [1, 14] のカテゴリです。
[[x y z r g b], ...]  # nx6 ここで、rgb は色です。

from_point_cloud

View source

@classmethod
from_point_cloud(
    points: Sequence['Point'],
    boxes: Sequence['Box3D'],
    vectors: Optional[Sequence['Vector3D']] = None,
    point_cloud_type: "PointCloudType" = "lidar/beta"
) -> "Object3D"

python オブジェクトから Object3D を初期化します。

arg
points (Sequence[“Point”]): ポイントクラウド内のポイント。 boxes (Sequence[“Box3D”]): ポイントクラウドにラベルを付けるための 3D バウンディングボックス。ボックスは、ポイントクラウドの可視化に表示されます。 vectors (Optional[Sequence[“Vector3D”]]): 各ベクターは、ポイントクラウドの可視化に表示されます。バウンディングボックスの方向を示すために使用できます。デフォルトは None です。 point_cloud_type (“lidar/beta”): 現在、“lidar/beta” タイプのみがサポートされています。デフォルトは “lidar/beta” です。
クラス変数
SUPPORTED_POINT_CLOUD_TYPES
SUPPORTED_TYPES

4.10 - Plotly

plotly プロット用の Wandb クラス。

Plotly(
    val: Union['plotly.Figure', 'matplotlib.artist.Artist']
)
Args
val matplotlib または plotly の figure

メソッド

make_plot_media

ソースを表示

@classmethod
make_plot_media(
    val: Union['plotly.Figure', 'matplotlib.artist.Artist']
) -> Union[Image, 'Plotly']

4.11 - Table

テーブル形式のデータを表示および分析するために使用される Table クラス。

Table(
    columns=None, data=None, rows=None, dataframe=None, dtype=None, optional=(True),
    allow_mixed_types=(False)
)

従来の表計算ソフトとは異なり、Tables は、スカラー値、文字列、NumPy 配列、および wandb.data_types.Media のほとんどのサブクラスなど、多数の種類のデータをサポートしています。 これは、ImagesVideoAudio、およびその他の種類の豊富なアノテーション付きメディアを、他の従来のスカラー値とともに Tables に直接埋め込むことができることを意味します。

このクラスは、UI で Table Visualizer を生成するために使用される主要なクラスです: https://docs.wandb.ai/guides/data-vis/tables

Args
columns (List[str]) テーブル内の列の名前。デフォルトは [“Input”, “Output”, “Expected”] です。
data (List[List[any]]) 値の 2D 行指向配列。
dataframe (pandas.DataFrame) テーブルの作成に使用される DataFrame オブジェクト。設定すると、data および columns 引数は無視されます。
optional (Union[bool,List[bool]]) None 値を許可するかどうかを決定します。デフォルトは True です - 単一の bool 値の場合、構築時に指定されたすべての列に対して optionality が適用されます - bool 値のリストの場合、optionality は各列に適用されます - columns と同じ長さである必要があります。bool 値のリストは、それぞれの列に適用されます。
allow_mixed_types (bool) 列で混合型を使用できるかどうかを決定します (型検証を無効にします)。デフォルトは False です。

メソッド

add_column

View source

add_column(
    name, data, optional=(False)
)

データの列をテーブルに追加します。

Args
name (str) - 列の一意の名前
data (list
optional (bool) - null のような値が許可されているかどうか

add_computed_columns

View source

add_computed_columns(
    fn
)

既存のデータに基づいて、1 つまたは複数の計算列を追加します。

Args
fn 1 つまたは 2 つの パラメータ (ndx (int) および row (辞書)) を受け入れる関数。この関数は、その行の新しい列を表す辞書を返すことが想定されており、新しい列名でキーが設定されています。ndx は、行のインデックスを表す整数です。include_ndxTrue に設定されている場合にのみ含まれます。row は、既存の列でキーが設定された辞書です。

add_data

View source

add_data(
    *data
)

テーブルにデータの新しい行を追加します。テーブル内の最大行数は、wandb.Table.MAX_ARTIFACT_ROWS によって決定されます。

データの長さは、テーブル列の長さと一致する必要があります。

add_row

View source

add_row(
    *row
)

非推奨。代わりに add_data を使用してください。

cast

View source

cast(
    col_name, dtype, optional=(False)
)

列を特定のデータ型にキャストします。

これは、通常の Python クラス、内部の W&B 型、または wandb.Image や wandb.Classes のインスタンスのようなサンプル オブジェクトのいずれかになります。

Args
col_name (str) - キャストする列の名前。
dtype (class, wandb.wandb_sdk.interface._dtypes.Type, any) - ターゲットの dtype。
optional (bool) - 列で None を許可する必要があるかどうか。

get_column

View source

get_column(
    name, convert_to=None
)

テーブルから列を取得し、必要に応じて NumPy オブジェクトに変換します。

Args
name (str) - 列の名前
convert_to (str, optional) - “numpy”: 基になるデータを numpy オブジェクトに変換します

get_dataframe

View source

get_dataframe()

テーブルの pandas.DataFrame を返します。

get_index

View source

get_index()

他のテーブルでリンクを作成するために使用する行インデックスの配列を返します。

index_ref

View source

index_ref(
    index
)

テーブル内の行のインデックスの参照を取得します。

iterrows

View source

iterrows()

行ごとのテーブルデータを返し、行のインデックスと関連データを表示します。

Yields

index : int 行のインデックス。この値を他の W&B テーブルで使用すると、テーブル間の関係が自動的に構築されます row : List[any] 行のデータ。

set_fk

View source

set_fk(
    col_name, table, table_col
)

set_pk

View source

set_pk(
    col_name
)
Class Variables
MAX_ARTIFACT_ROWS 200000
MAX_ROWS 10000

4.12 - Video

W&B に ログ を記録するためのビデオをフォーマットします。

Video(
    data_or_path: Union['np.ndarray', str, 'TextIO', 'BytesIO'],
    caption: Optional[str] = None,
    fps: Optional[int] = None,
    format: Optional[str] = None
)
Args
data_or_path (numpy array, string, io) Video は、ファイルへのパスまたは io オブジェクトで初期化できます。フォーマットは “gif”、“mp4”、“webm” または “ogg” である必要があります。フォーマットは format 引数で指定する必要があります。Video は numpy テンソルで初期化できます。numpy テンソルは、4 次元または 5 次元である必要があります。チャンネルは (time, channel, height, width) または (batch, time, channel, height width) にする必要があります。
caption (string) 表示するビデオに関連付けられたキャプション
fps (int) 生のビデオフレームをエンコードする際に使用するフレームレート。デフォルト値は 4 です。この パラメータ は、data_or_path が string または bytes の場合、効果はありません。
format (string) ビデオのフォーマット。パスまたは io オブジェクトで初期化する場合に必要です。

例:

numpy array をビデオとして ログ 記録する

import numpy as np
import wandb

run = wandb.init()
# axes are (time, channel, height, width)
frames = np.random.randint(low=0, high=256, size=(10, 3, 100, 100), dtype=np.uint8)
run.log({"video": wandb.Video(frames, fps=4)})

メソッド

encode

View source

encode(
    fps: int = 4
) -> None
Class Variables
EXTS

4.13 - WBTraceTree

trace ツリー データ用の Media オブジェクト。

WBTraceTree(
    root_span: Span,
    model_dict: typing.Optional[dict] = None
)
Args
root_span (Span): trace ツリーのルート スパン。model_dict (dict, optional): モデル ダンプを含む辞書。注: model_dict は完全に ユーザー 定義の辞書です。UI はこの辞書の JSON ビューアをレンダリングし、_kind キーを持つ辞書を特別に扱います。これは、モデル ベンダーが非常に異なるシリアル化形式を持っているため、ここで柔軟に対応する必要があるためです。

5 - finish

run を終了し、残りの data をすべてアップロードします。

finish(
    exit_code: (int | None) = None,
    quiet: (bool | None) = None
) -> None

W&B の run の完了をマークし、すべての data が サーバー に同期されるようにします。 run の最終状態は、その終了条件と同期ステータスによって決まります。

run の状態:

  • Running: data を ログ 記録している、またはハートビートを送信しているアクティブな run 。
  • Crashed: 予期せずハートビートの送信を停止した run 。
  • Finished: すべての data が同期され、run が正常に完了しました ( exit_code=0 )。
  • Failed: エラーで run が完了しました ( exit_code!=0 )。
Arg
exit_code run の終了ステータスを示す整数。成功の場合は 0 を使用し、他の 値 は run を失敗としてマークします。
quiet 非推奨。wandb.Settings(quiet=...) を使用して、ログ の冗長性を 設定 します。

6 - Import & Export API

クラス

class Api: wandb サーバー のクエリに使用されます。

class File: File は wandb で保存されたファイルに関連付けられたクラスです。

class Files: File オブジェクトの反復可能なコレクション。

class Job

class Project: Project は Runs の名前空間です。

class Projects: Project オブジェクトの反復可能なコレクション。

class QueuedRun: エンティティと project に関連付けられた単一のキューされた run。run = queued_run.wait_until_running() または run = queued_run.wait_until_finished() を呼び出して、run にアクセスします。

class Run: エンティティと project に関連付けられた単一の run。

class RunQueue

class Runs: project に関連付けられた runs の反復可能なコレクションとオプションのフィルター。

class Sweep: sweep に関連付けられた runs のセット。

6.1 - Api

wandb サーバー のクエリに使用されます。

Api(
    overrides: Optional[Dict[str, Any]] = None,
    timeout: Optional[int] = None,
    api_key: Optional[str] = None
) -> None

例:

初期化の最も一般的な方法

>>> wandb.Api()
Args
overrides (辞書) https://api.wandb.ai 以外の wandb サーバー を使用している場合は、base_url を設定できます。また、entityproject、および run のデフォルト値を設定することもできます。
Attributes

メソッド

artifact

View source

artifact(
    name: str,
    type: Optional[str] = None
)

project/name または entity/project/name の形式でパスを解析して、単一の artifact を返します。

Args
name (str) artifact 名。project/ または entity/project/ が前に付いている場合があります。名前で entity が指定されていない場合、Run または API 設定の entity が使用されます。有効な名前は、name:version name:alias の形式にすることができます。
type (str, オプション) フェッチする artifact の型。
Returns
Artifact オブジェクト。
Raises
ValueError artifact 名が指定されていない場合。
ValueError artifact の型が指定されているが、フェッチされた artifact の型と一致しない場合。

注:

このメソッドは、外部での使用のみを目的としています。wandb リポジトリ コード内で api.artifact() を呼び出さないでください。

artifact_collection

View source

artifact_collection(
    type_name: str,
    name: str
) -> "public.ArtifactCollection"

型で単一の artifact collection を返し、entity/project/name の形式でパスを解析します。

Args
type_name (str) フェッチする artifact collection の型。
name (str) artifact collection 名。entity/project が前に付いている場合があります。
Returns
ArtifactCollection オブジェクト。

artifact_collection_exists

View source

artifact_collection_exists(
    name: str,
    type: str
) -> bool

artifact collection が指定された project および entity 内に存在するかどうかを返します。

Args
name (str) artifact collection 名。entity/project が前に付いている場合があります。entity または project が指定されていない場合、オーバーライド パラメータから推測されます (設定されている場合)。それ以外の場合、entity はユーザー設定から取得され、project はデフォルトで “uncategorized” になります。
type (str) artifact collection の型
Returns
artifact collection が存在する場合は True、それ以外の場合は False。

artifact_collections

View source

artifact_collections(
    project_name: str,
    type_name: str,
    per_page: Optional[int] = 50
) -> "public.ArtifactCollections"

一致する artifact collection の collection を返します。

Args
project_name (str) フィルタリングする project の名前。
type_name (str) フィルタリングする artifact の型の名前。
per_page (int, オプション) クエリ ページネーションのページ サイズを設定します。None を指定すると、デフォルト サイズが使用されます。通常、これを変更する理由はありません。
Returns
反復可能な ArtifactCollections オブジェクト。

artifact_exists

View source

artifact_exists(
    name: str,
    type: Optional[str] = None
) -> bool

artifact バージョンが指定された project および entity 内に存在するかどうかを返します。

Args
name (str) artifact 名。entity/project が前に付いている場合があります。entity または project が指定されていない場合、オーバーライド パラメータから推測されます (設定されている場合)。それ以外の場合、entity はユーザー設定から取得され、project はデフォルトで “uncategorized” になります。有効な名前は、name:version name:alias の形式にすることができます。
type (str, オプション) artifact の型
Returns
artifact バージョンが存在する場合は True、それ以外の場合は False。

artifact_type

View source

artifact_type(
    type_name: str,
    project: Optional[str] = None
) -> "public.ArtifactType"

一致する ArtifactType を返します。

Args
type_name (str) 取得する artifact の型の名前。
project (str, オプション) 指定された場合、フィルタリングする project 名またはパス。
Returns
ArtifactType オブジェクト。

artifact_types

View source

artifact_types(
    project: Optional[str] = None
) -> "public.ArtifactTypes"

一致する artifact 型の collection を返します。

Args
project (str, オプション) 指定された場合、フィルタリングする project 名またはパス。
Returns
反復可能な ArtifactTypes オブジェクト。

artifact_versions

View source

artifact_versions(
    type_name, name, per_page=50
)

非推奨。代わりに artifacts(type_name, name) を使用してください。

artifacts

View source

artifacts(
    type_name: str,
    name: str,
    per_page: Optional[int] = 50,
    tags: Optional[List[str]] = None
) -> "public.Artifacts"

指定されたパラメータから Artifacts collection を返します。

Args
type_name (str) フェッチする artifacts の型。
name (str) artifact collection 名。entity/project が前に付いている場合があります。
per_page (int, オプション) クエリ ページネーションのページ サイズを設定します。None を指定すると、デフォルト サイズが使用されます。通常、これを変更する理由はありません。
tags (list[str], オプション) これらのタグをすべて持つ artifacts のみを返します。
Returns
反復可能な Artifacts オブジェクト。

create_project

View source

create_project(
    name: str,
    entity: str
) -> None

新しい project を作成します。

Args
name (str) 新しい project の名前。
entity (str) 新しい project の entity。

create_run

View source

create_run(
    *,
    run_id: Optional[str] = None,
    project: Optional[str] = None,
    entity: Optional[str] = None
) -> "public.Run"

新しい run を作成します。

Args
run_id (str, オプション) 指定された場合、run に割り当てる ID。run ID はデフォルトで自動的に生成されるため、通常はこれを指定する必要はなく、自己責任で行う必要があります。
project (str, オプション) 指定された場合、新しい run の project。
entity (str, オプション) 指定された場合、新しい run の entity。
Returns
新しく作成された Run

create_run_queue

View source

create_run_queue(
    name: str,
    type: "public.RunQueueResourceType",
    entity: Optional[str] = None,
    prioritization_mode: Optional['public.RunQueuePrioritizationMode'] = None,
    config: Optional[dict] = None,
    template_variables: Optional[dict] = None
) -> "public.RunQueue"

新しい run queue (Launch) を作成します。

Args
name (str) 作成する queue の名前
type (str) queue に使用するリソースの型。“local-container”、“local-process”、“kubernetes”、“sagemaker”、または “gcp-vertex” のいずれか。
entity (str) queue を作成する entity のオプションの名前。None の場合、設定されたまたはデフォルトの entity が使用されます。
prioritization_mode (str) 使用する優先順位付けのオプションのバージョン。“V0” または None
config (dict) queue に使用するオプションのデフォルト リソース設定。handlebars (例: {{var}}) を使用してテンプレート変数を指定します。
template_variables (dict) config で使用するテンプレート変数スキーマの辞書。予期される形式: { "var-name": { "schema": { "type": ("string", "number", or "integer"), "default": (optional value), "minimum": (optional minimum), "maximum": (optional maximum), "enum": [..."(options)"] } } }
Returns
新しく作成された RunQueue
Raises
パラメータが無効な場合は ValueError wandb API エラーの場合は wandb.Error

create_team

View source

create_team(
    team, admin_username=None
)

新しい team を作成します。

Args
team (str) team の名前
admin_username (str) team の管理者ユーザーのオプションのユーザー名。デフォルトは現在のユーザーです。
Returns
Team オブジェクト

create_user

View source

create_user(
    email, admin=(False)
)

新しい user を作成します。

Args
email (str) ユーザーのメール アドレス
admin (bool) このユーザーをグローバル インスタンス管理者にするかどうか
Returns
User オブジェクト

flush

View source

flush()

ローカル キャッシュをフラッシュします。

api オブジェクトは run のローカル キャッシュを保持するため、スクリプトの実行中に run の状態が変化する可能性がある場合は、api.flush() でローカル キャッシュをクリアして、run に関連付けられている最新の値を取得する必要があります。

from_path

View source

from_path(
    path
)

パスから run、sweep、project、または report を返します。

例:

project = api.from_path("my_project")
team_project = api.from_path("my_team/my_project")
run = api.from_path("my_team/my_project/runs/id")
sweep = api.from_path("my_team/my_project/sweeps/id")
report = api.from_path("my_team/my_project/reports/My-Report-Vm11dsdf")
Args
path (str) project、run、sweep、または report へのパス
Returns
ProjectRunSweep、または BetaReport インスタンス。
Raises
パスが無効であるか、オブジェクトが存在しない場合は wandb.Error

job

View source

job(
    name: Optional[str],
    path: Optional[str] = None
) -> "public.Job"

指定されたパラメータから Job を返します。

Args
name (str) ジョブ名。
path (str, オプション) 指定された場合、ジョブ artifact をダウンロードするルート パス。
Returns
Job オブジェクト。

list_jobs

View source

list_jobs(
    entity: str,
    project: str
) -> List[Dict[str, Any]]

指定された entity および project のジョブ (存在する場合) のリストを返します。

Args
entity (str) リストされたジョブの entity。
project (str) リストされたジョブの project。
Returns
一致するジョブのリスト。

project

View source

project(
    name: str,
    entity: Optional[str] = None
) -> "public.Project"

指定された名前 (および指定された場合は entity) を持つ Project を返します。

Args
name (str) project 名。
entity (str) 要求された entity の名前。None の場合、Api に渡されたデフォルトの entity にフォールバックします。デフォルトの entity がない場合は、ValueError が発生します。
Returns
Project オブジェクト。

projects

View source

projects(
    entity: Optional[str] = None,
    per_page: Optional[int] = 200
) -> "public.Projects"

指定された entity の projects を取得します。

Args
entity (str) 要求された entity の名前。None の場合、Api に渡されたデフォルトの entity にフォールバックします。デフォルトの entity がない場合は、ValueError が発生します。
per_page (int) クエリ ページネーションのページ サイズを設定します。None を指定すると、デフォルト サイズが使用されます。通常、これを変更する理由はありません。
Returns
Project オブジェクトの反復可能な collection である Projects オブジェクト。

queued_run

View source

queued_run(
    entity, project, queue_name, run_queue_item_id, project_queue=None,
    priority=None
)

パスに基づいて、単一の queue に入れられた run を返します。

entity/project/queue_id/run_queue_item_id の形式のパスを解析します。

registries

View source

registries(
    organization: Optional[str] = None,
    filter: Optional[Dict[str, Any]] = None
) -> Registries

Registry イテレーターを返します。

イテレーターを使用して、組織の registry 全体で registry、collection、または artifact バージョンを検索およびフィルタリングします。

例:

名前に “model” が含まれるすべての registry を検索します

import wandb

api = wandb.Api()  # entity が複数の org に属している場合は org を指定します
api.registries(filter={"name": {"$regex": "model"}})

名前が “my_collection” でタグが “my_tag” の registry 内のすべての collection を検索します

api.registries().collections(filter={"name": "my_collection", "tag": "my_tag"})

名前が “my_collection” を含み、エイリアスが “best” のバージョンを持つ registry 内のすべての artifact バージョンを検索します

api.registries().collections(
    filter={"name": {"$regex": "my_collection"}}
).versions(filter={"alias": "best"})

“model” を含み、タグ “prod” またはエイリアス “best” を持つ registry 内のすべての artifact バージョンを検索します

api.registries(filter={"name": {"$regex": "model"}}).versions(
    filter={"$or": [{"tag": "prod"}, {"alias": "best"}]}
)
Args
organization (str, オプション) フェッチする registry の組織。指定されていない場合は、ユーザーの設定で指定された組織を使用します。
filter (dict, オプション) registry イテレーターの各オブジェクトに適用する MongoDB スタイルのフィルター。collection でフィルタリングに使用できるフィールドは、namedescriptioncreated_atupdated_at です。collection でフィルタリングに使用できるフィールドは、nametagdescriptioncreated_atupdated_at です。バージョンでフィルタリングに使用できるフィールドは、tagaliascreated_atupdated_atmetadata です
Returns
registry イテレーター。

reports

View source

reports(
    path: str = "",
    name: Optional[str] = None,
    per_page: Optional[int] = 50
) -> "public.Reports"

指定された project パスの reports を取得します。

警告: この API はベータ版であり、将来のリリースで変更される可能性があります

Args
path (str) report が存在する project へのパス。形式は “entity/project” である必要があります
name (str, オプション) 要求された report のオプションの名前。
per_page (int) クエリ ページネーションのページ サイズを設定します。None を指定すると、デフォルト サイズが使用されます。通常、これを変更する理由はありません。
Returns
BetaReport オブジェクトの反復可能な collection である Reports オブジェクト。

run

View source

run(
    path=""
)

entity/project/run_id の形式でパスを解析して、単一の run を返します。

Args
path (str) entity/project/run_id の形式の run へのパス。api.entity が設定されている場合は、project/run_id の形式にすることができ、api.project が設定されている場合は、run_id のみにすることができます。
Returns
Run オブジェクト。

run_queue

View source

run_queue(
    entity, name
)

entity の名前付き RunQueue を返します。

新しい RunQueue を作成するには、wandb.Api().create_run_queue(...) を使用します。

runs

View source

runs(
    path: Optional[str] = None,
    filters: Optional[Dict[str, Any]] = None,
    order: str = "+created_at",
    per_page: int = 50,
    include_sweeps: bool = (True)
)

指定されたフィルターに一致する project から run のセットを返します。

フィルターできるフィールドには、次のものがあります。

  • createdAt: run が作成されたタイムスタンプ。(ISO 8601 形式、例: “2023-01-01T12:00:00Z”)
  • displayName: run の人間が判読できる表示名。(例: “eager-fox-1”)
  • duration: run の合計実行時間 (秒単位)。
  • group: 関連する run をまとめて整理するために使用されるグループ名。
  • host: run が実行されたホスト名。
  • jobType: run のジョブの種類または目的。
  • name: run の一意の識別子。(例: “a1b2cdef”)
  • state: run の現在の状態。
  • tags: run に関連付けられているタグ。
  • username: run を開始したユーザーのユーザー名

さらに、run config または summary metrics の項目でフィルタリングできます。 config.experiment_namesummary_metrics.loss など。

より複雑なフィルタリングを行うには、MongoDB クエリ演算子を使用できます。 詳細については、https://docs.mongodb.com/manual/reference/operator/query を参照してください。 次の操作がサポートされています。

  • $and
  • $or
  • $nor
  • $eq
  • $ne
  • $gt
  • $gte
  • $lt
  • $lte
  • $in
  • $nin
  • $exists
  • $regex

例:

config.experiment_name が “foo” に設定されている my_project で run を検索します

api.runs(
    path="my_entity/my_project",
    filters={"config.experiment_name": "foo"},
)

config.experiment_name が “foo” または “bar” に設定されている my_project で run を検索します

api.runs(
    path="my_entity/my_project",
    filters={
        "$or": [
            {"config.experiment_name": "foo"},
            {"config.experiment_name": "bar"},
        ]
    },
)

config.experiment_name が正規表現に一致する my_project で run を検索します (アンカーはサポートされていません)

api.runs(
    path="my_entity/my_project",
    filters={"config.experiment_name": {"$regex": "b.*"}},
)

run 名が正規表現に一致する my_project で run を検索します (アンカーはサポートされていません)

api.runs(
    path="my_entity/my_project",
    filters={"display_name": {"$regex": "^foo.*"}},
)

config.experiment に値 “testing” を持つネストされたフィールド “category” が含まれている my_project で run を検索します

api.runs(
    path="my_entity/my_project",
    filters={"config.experiment.category": "testing"},
)

summary metrics の model1 の下の辞書にネストされた損失値が 0.5 の my_project で run を検索します

api.runs(
    path="my_entity/my_project",
    filters={"summary_metrics.model1.loss": 0.5},
)

損失の昇順でソートされた my_project で run を検索します

api.runs(path="my_entity/my_project", order="+summary_metrics.loss")
Args
path (str) project へのパス。形式は “entity/project” である必要があります
filters (dict) MongoDB クエリ言語を使用して特定の run をクエリします。config.key、summary_metrics.key、state、entity、createdAt などの run プロパティでフィルタリングできます。たとえば、{"config.experiment_name": "foo"} は、experiment 名が “foo” に設定された config エントリを持つ run を検索します
order (str) 順序は、created_atheartbeat_atconfig.*.value、または summary_metrics.* にすることができます。順序の前に + を付けると、順序は昇順になります。順序の前に - を付けると、順序は降順になります (デフォルト)。デフォルトの順序は、run.created_at が最も古いものから最も新しいものになります。
per_page (int) クエリ ページネーションのページ サイズを設定します。
include_sweeps (bool) 結果に sweep runs を含めるかどうか。
Returns
Run オブジェクトの反復可能な collection である Runs オブジェクト。

sweep

View source

sweep(
    path=""
)

entity/project/sweep_id の形式でパスを解析して sweep を返します。

Args
path (str, optional) entity/project/sweep_id の形式の sweep へのパス。api.entity が設定されている場合は、project/sweep_id の形式にすることができ、api.project が設定されている場合は、sweep_id のみにすることができます。
Returns
Sweep オブジェクト。

sync_tensorboard

View source

sync_tensorboard(
    root_dir, run_id=None, project=None, entity=None
)

tfevent ファイルを含むローカル ディレクトリを wandb に同期します。

team

View source

team(
    team: str
) -> "public.Team"

指定された名前を持つ一致する Team を返します。

Args
team (str) team の名前。
Returns
Team オブジェクト。

upsert_run_queue

View source

upsert_run_queue(
    name: str,
    resource_config: dict,
    resource_type: "public.RunQueueResourceType",
    entity: Optional[str] = None,
    template_variables: Optional[dict] = None,
    external_links: Optional[dict] = None,
    prioritization_mode: Optional['public.RunQueuePrioritizationMode'] = None
)

run queue (Launch) をアップサートします。

Args
name (str) 作成する queue の名前
entity (str) queue を作成する entity のオプションの名前。None の場合、設定されたまたはデフォルトの entity が使用されます。
resource_config (dict) queue に使用するオプションのデフォルト リソース設定。handlebars (例: {{var}}) を使用してテンプレート変数を指定します。
resource_type (str) queue に使用するリソースの型。“local-container”、“local-process”、“kubernetes”、“sagemaker”、または “gcp-vertex” のいずれか。
template_variables (dict) config で使用するテンプレート変数スキーマの辞書。予期される形式: { "var-name": { "schema": { "type": ("string", "number", or "integer"), "default": (optional value), "minimum": (optional minimum), "maximum": (optional maximum), "enum": [..."(options)"] } } }
external_links (dict) queue で使用する外部リンクのオプションの辞書。予期される形式: { "name": "url" }
prioritization_mode (str) 使用する優先順位付けのオプションのバージョン。“V0” または None
Returns
アップサートされた RunQueue
Raises
パラメータが無効な場合は ValueError wandb API エラーの場合は wandb.Error

user

View source

user(
    username_or_email: str
) -> Optional['public.User']

ユーザー名またはメール アドレスからユーザーを返します。

注: この関数はローカル管理者に対してのみ機能します。自分のユーザー オブジェクトを取得しようとしている場合は、api.viewer を使用してください。

Args
username_or_email (str) ユーザーのユーザー名またはメール アドレス
Returns
User オブジェクト。ユーザーが見つからない場合は None

users

View source

users(
    username_or_email: str
) -> List['public.User']

部分的なユーザー名またはメール アドレス クエリからすべてのユーザーを返します。

注: この関数はローカル管理者に対してのみ機能します。自分のユーザー オブジェクトを取得しようとしている場合は、api.viewer を使用してください。

Args
username_or_email (str) 検索するユーザーのプレフィックスまたはサフィックス
Returns
User オブジェクトの配列
Class Variables
CREATE_PROJECT
DEFAULT_ENTITY_QUERY
USERS_QUERY
VIEWER_QUERY

6.2 - File

File は wandb によって保存されたファイルに関連付けられたクラスです。

File(
    client, attrs, run=None
)
Attributes
path_uri ストレージ バケット内のファイルへの URI パスを返します。

メソッド

delete

View source

delete()

display

View source

display(
    height=420, hidden=(False)
) -> bool

このオブジェクトを jupyter で表示します。

download

View source

download(
    root: str = ".",
    replace: bool = (False),
    exist_ok: bool = (False),
    api: Optional[Api] = None
) -> io.TextIOWrapper

以前に run によって保存されたファイルを wandb サーバー からダウンロードします。

Args
replace (boolean): True の場合、ダウンロードはローカル ファイルが存在する場合に上書きします。デフォルトは False です。 root (str): ファイルを保存するローカル ディレクトリー。デフォルトは “.” です。 exist_ok (boolean): True の場合、ファイルが既に存在する場合は ValueError を発生させず、replace=True でない限り再ダウンロードしません。デフォルトは False です。 api (Api, optional): 指定された場合、ファイルのダウンロードに使用される Api インスタンス。
Raises
ファイルが既に存在し、replace=False かつ exist_ok=False の場合、ValueError

snake_to_camel

View source

snake_to_camel(
    string
)

to_html

View source

to_html(
    *args, **kwargs
)

6.3 - Files

File オブジェクト のイテラブルなコレクション。

Files(
    client, run, names=None, per_page=50, upload=(False)
)
属性

メソッド

convert_objects

ソースを表示

convert_objects()

next

ソースを表示

next()

update_variables

ソースを表示

update_variables()

__getitem__

ソースを表示

__getitem__(
    index
)

__iter__

ソースを表示

__iter__()

__len__

ソースを表示

__len__()
クラス変数
QUERY

6.4 - Job

Job(
    api: "Api",
    name,
    path: Optional[str] = None
) -> None
属性

メソッド

call

ソースを表示

call(
    config, project=None, entity=None, queue=None, resource="local-container",
    resource_args=None, template_variables=None, project_queue=None, priority=None
)

set_entrypoint

ソースを表示

set_entrypoint(
    entrypoint: List[str]
)

6.5 - Project

Project とは、runs の名前空間です。

Project(
    client, entity, project, attrs
)
属性

メソッド

artifacts_types

View source

artifacts_types(
    per_page=50
)

display

View source

display(
    height=420, hidden=(False)
) -> bool

この object を jupyter で表示します。

snake_to_camel

View source

snake_to_camel(
    string
)

sweeps

View source

sweeps()

to_html

View source

to_html(
    height=420, hidden=(False)
)

この project を表示する iframe を含む HTML を生成します。

6.6 - Projects

Project オブジェクトの反復可能なコレクション。

Projects(
    client, entity, per_page=50
)
属性

メソッド

convert_objects

ソースを表示

convert_objects()

next

ソースを表示

next()

update_variables

ソースを表示

update_variables()

__getitem__

ソースを表示

__getitem__(
    index
)

__iter__

ソースを表示

__iter__()

__len__

ソースを表示

__len__()
クラス変数
QUERY

6.7 - QueuedRun

Entity と Project に関連付けられた、単一のキューに登録された run 。run にアクセスするには、run = queued_run.wait_until_running() または run = queued_run.wait_until_finished() を呼び出します。

QueuedRun(
    client, entity, project, queue_name, run_queue_item_id,
    project_queue=LAUNCH_DEFAULT_PROJECT, priority=None
)
Attributes

メソッド

delete

View source

delete(
    delete_artifacts=(False)
)

指定されたキューに登録された run を wandb バックエンドから削除します。

wait_until_finished

View source

wait_until_finished()

wait_until_running

View source

wait_until_running()

6.8 - Run

ある entity と project に関連付けられた単一の run。

Run(
    client: "RetryingClient",
    entity: str,
    project: str,
    run_id: str,
    attrs: Optional[Mapping] = None,
    include_sweeps: bool = (True)
)
Attributes

Methods

create

View source

@classmethod
create(
    api, run_id=None, project=None, entity=None
)

指定された project の run を作成します。

delete

View source

delete(
    delete_artifacts=(False)
)

指定された run を wandb バックエンドから削除します。

display

View source

display(
    height=420, hidden=(False)
) -> bool

このオブジェクトを jupyter で表示します。

file

View source

file(
    name
)

アーティファクト内の指定された名前のファイルのパスを返します。

Args
name (str): リクエストされたファイルの名前。
Returns
name 引数に一致する File

files

View source

files(
    names=None, per_page=50
)

名前が指定された各ファイルのファイルパスを返します。

Args
names (list): リクエストされたファイルの名前。空の場合、すべてのファイルを返します。 per_page (int): ページごとの結果数。
Returns
File オブジェクトのイテレーターである Files オブジェクト。

history

View source

history(
    samples=500, keys=None, x_axis="_step", pandas=(True), stream="default"
)

run のサンプルされた履歴メトリクスを返します。

履歴レコードのサンプリングが問題ない場合は、これを使用するとより簡単かつ高速になります。

Args
samples (int, optional) 返すサンプル数
pandas (bool, optional) pandas DataFrame を返します
keys (list, optional) 特定のキーのメトリクスのみを返します
x_axis (str, optional) このメトリクスを xAxis として使用します。デフォルトは _step です
stream (str, optional) メトリクスには “default”、マシンメトリクスには “system”
Returns
pandas.DataFrame pandas=True の場合、履歴メトリクスの pandas.DataFrame を返します。 dict のリスト: pandas=False の場合、履歴メトリクスの dict のリストを返します。

load

View source

load(
    force=(False)
)

log_artifact

View source

log_artifact(
    artifact: "wandb.Artifact",
    aliases: Optional[Collection[str]] = None,
    tags: Optional[Collection[str]] = None
)

アーティファクトを run の出力として宣言します。

Args
artifact (Artifact): wandb.Api().artifact(name) から返されたアーティファクト。 aliases (list, optional): このアーティファクトに適用するエイリアス。
tags (list, optional) このアーティファクトに適用するタグ (存在する場合)。
Returns
Artifact オブジェクト。

logged_artifacts

View source

logged_artifacts(
    per_page: int = 100
) -> public.RunArtifacts

この run によって記録されたすべてのアーティファクトをフェッチします。

run 中に記録されたすべての出力 Artifacts を取得します。反復処理したり、単一のリストに収集したりできるページ分割された結果を返します。

Args
per_page API リクエストごとにフェッチする Artifacts の数。
Returns
この run 中に出力として記録されたすべての Artifact オブジェクトの反復可能なコレクション。

Example:

>>> 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)
test_artifact

save

View source

save()

scan_history

View source

scan_history(
    keys=None, page_size=1000, min_step=None, max_step=None
)

run のすべての履歴レコードの反復可能なコレクションを返します。

Example:

サンプル run のすべての損失値をエクスポートします。

run = api.run("l2k2/examples-numpy-boston/i0wt6xua")
history = run.scan_history(keys=["Loss"])
losses = [row["Loss"] for row in history]
Args
keys ([str], optional): これらのキーのみをフェッチし、すべてのキーが定義されている行のみをフェッチします。 page_size (int, optional): API からフェッチするページのサイズ。 min_step (int, optional): 一度にスキャンする最小ページ数。 max_step (int, optional): 一度にスキャンする最大ページ数。
Returns
履歴レコード (dict) の反復可能なコレクション。

snake_to_camel

View source

snake_to_camel(
    string
)

to_html

View source

to_html(
    height=420, hidden=(False)
)

この run を表示する iframe を含む HTML を生成します。

update

View source

update()

run オブジェクトへの変更を wandb バックエンドに永続化します。

upload_file

View source

upload_file(
    path, root="."
)

ファイルをアップロードします。

Args
path (str): アップロードするファイルの名前。 root (str): ファイルを相対的に保存するルートパス。 例: ファイルを run に “my_dir/file.txt” として保存し、現在 “my_dir” にいる場合は、root を “../” に設定します。
Returns
name 引数に一致する File

use_artifact

View source

use_artifact(
    artifact, use_as=None
)

アーティファクトを run への入力として宣言します。

Args
artifact (Artifact): wandb.Api().artifact(name) から返されたアーティファクト use_as (string, optional): スクリプトでアーティファクトがどのように使用されるかを識別する文字列。 ベータ版の wandb launch 機能のアーティファクトスワップ機能を使用する場合に、run で使用されるアーティファクトを簡単に区別するために使用されます。
Returns
Artifact オブジェクト。

used_artifacts

View source

used_artifacts(
    per_page: int = 100
) -> public.RunArtifacts

この run で明示的に使用されている Artifacts をフェッチします。

通常は run.use_artifact() を介して、run 中に使用されたと明示的に宣言された入力 Artifacts のみを取得します。反復処理したり、単一のリストに収集したりできるページ分割された結果を返します。

Args
per_page API リクエストごとにフェッチする Artifacts の数。
Returns
この run で入力として明示的に使用される Artifact オブジェクトの反復可能なコレクション。

Example:

>>> 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

wait_until_finished

View source

wait_until_finished()

6.9 - RunQueue

RunQueue(
    client: "RetryingClient",
    name: str,
    entity: str,
    prioritization_mode: Optional[RunQueuePrioritizationMode] = None,
    _access: Optional[RunQueueAccessType] = None,
    _default_resource_config_id: Optional[int] = None,
    _default_resource_config: Optional[dict] = None
) -> None
Attributes
items 最初の100個までのキューに入った run 。このリストを変更しても、キューやキューに入ったアイテムは変更されません!

メソッド

create

View source

@classmethod
create(
    name: str,
    resource: "RunQueueResourceType",
    entity: Optional[str] = None,
    prioritization_mode: Optional['RunQueuePrioritizationMode'] = None,
    config: Optional[dict] = None,
    template_variables: Optional[dict] = None
) -> "RunQueue"

delete

View source

delete()

wandb バックエンドから run キューを削除します。

6.10 - Runs

project とオプションのフィルターに関連付けられた、反復可能な Runs のコレクション。

Runs(
    client: "RetryingClient",
    entity: str,
    project: str,
    filters: Optional[Dict[str, Any]] = None,
    order: Optional[str] = None,
    per_page: int = 50,
    include_sweeps: bool = (True)
)

これは通常、Api.runs メソッドを介して間接的に使用されます。

属性

メソッド

convert_objects

View source

convert_objects()

histories

View source

histories(
    samples: int = 500,
    keys: Optional[List[str]] = None,
    x_axis: str = "_step",
    format: Literal['default', 'pandas', 'polars'] = "default",
    stream: Literal['default', 'system'] = "default"
)

フィルター条件に適合するすべての run のサンプリングされた履歴 メトリクス を返します。

arg
samples (int, optional) run ごとに返すサンプル数
keys (list[str], optional) 特定の キー の メトリクス のみを返します
x_axis (str, optional) この メトリクス を xAxis のデフォルトとして使用します。_step
format (Literal, optional) データを返す形式。オプションは “default”、“pandas”、“polars”
stream (Literal, optional) メトリクス の場合は “default”、マシン メトリクス の場合は “system”
戻り値
pandas.DataFrame format=“pandas” の場合、履歴 メトリクス の pandas.DataFrame を返します。
polars.DataFrame format=“polars” の場合、履歴 メトリクス の polars.DataFrame を返します。dicts のリスト: format=“default” の場合、run_id キー を含む履歴 メトリクス を含む dict のリストを返します。

next

View source

next()

update_variables

View source

update_variables()

__getitem__

View source

__getitem__(
    index
)

__iter__

View source

__iter__()

__len__

View source

__len__()
クラス変数
QUERY

6.11 - Sweep

sweep に関連付けられた一連の Runs。

Sweep(
    client, entity, project, sweep_id, attrs=None
)

例:

以下でインスタンス化します:

api = wandb.Api()
sweep = api.sweep(path / to / sweep)
属性
runs (Runs) Runs のリスト
id (str) sweep ID
project (str) project 名
config (str) sweep configuration の辞書
state (str) sweep の状態
expected_run_count (int) sweep に予想される Runs の数

メソッド

best_run

ソースを表示

best_run(
    order=None
)

config で定義されたメトリックまたは渡された順序でソートされた最適な Run を返します。

display

ソースを表示

display(
    height=420, hidden=(False)
) -> bool

このオブジェクトを jupyter で表示します。

get

ソースを表示

@classmethod
get(
    client, entity=None, project=None, sid=None, order=None, query=None, **kwargs
)

クラウドバックエンドに対してクエリを実行します。

load

ソースを表示

load(
    force: bool = (False)
)

snake_to_camel

ソースを表示

snake_to_camel(
    string
)

to_html

ソースを表示

to_html(
    height=420, hidden=(False)
)

この sweep を表示する iframe を含む HTML を生成します。

クラス変数
LEGACY_QUERY
QUERY

7 - init

W&B に track および ログ を記録するための新しい run を開始します。

init(
    entity: (str | None) = None,
    project: (str | None) = None,
    dir: (StrPath | None) = None,
    id: (str | None) = None,
    name: (str | None) = None,
    notes: (str | None) = None,
    tags: (Sequence[str] | None) = None,
    config: (dict[str, Any] | str | None) = None,
    config_exclude_keys: (list[str] | None) = None,
    config_include_keys: (list[str] | None) = None,
    allow_val_change: (bool | None) = None,
    group: (str | None) = None,
    job_type: (str | None) = None,
    mode: (Literal['online', 'offline', 'disabled'] | None) = None,
    force: (bool | None) = None,
    anonymous: (Literal['never', 'allow', 'must'] | None) = None,
    reinit: (bool | None) = None,
    resume: (bool | Literal['allow', 'never', 'must', 'auto'] | None) = None,
    resume_from: (str | None) = None,
    fork_from: (str | None) = None,
    save_code: (bool | None) = None,
    tensorboard: (bool | None) = None,
    sync_tensorboard: (bool | None) = None,
    monitor_gym: (bool | None) = None,
    settings: (Settings | dict[str, Any] | None) = None
) -> Run

ML トレーニング パイプラインでは、トレーニング スクリプトの先頭と評価スクリプトに wandb.init() を追加できます。各ピースは W&B の run として track されます。

wandb.init() は、データを run に記録するための新しいバックグラウンド プロセスを生成し、デフォルトでデータを https://wandb.ai に同期するため、結果をリアルタイムで確認できます。

wandb.log() でデータを ログ に記録する前に、wandb.init() を呼び出して run を開始します。データの ログ 記録が完了したら、wandb.finish() を呼び出して run を終了します。wandb.finish() を呼び出さない場合、run はスクリプトの終了時に終了します。

詳細な例を含む wandb.init() の使用方法の詳細については、ガイドと FAQ を参照してください。

例:

entity と project を明示的に設定し、run の名前を選択します。

import wandb

run = wandb.init(
    entity="geoff",
    project="capsules",
    name="experiment-2021-10-31",
)

# ... ここにトレーニングコードを記述 ...

run.finish()

config 引数を使用して、run に関する メタデータ を追加します。

import wandb

config = {"lr": 0.01, "batch_size": 32}
with wandb.init(config=config) as run:
    run.config.update({"architecture": "resnet", "depth": 34})

    # ... ここにトレーニングコードを記述 ...

wandb.init() をコンテキスト マネージャーとして使用して、ブロックの最後に wandb.finish() を自動的に呼び出すことができることに注意してください。

Args
entity run が ログ される ユーザー名または Team 名。 entity は既に存在している必要があります。run の ログ 記録を開始する前に、UI でアカウントまたは Team を作成していることを確認してください。指定されていない場合、run はデフォルトの entity にデフォルト設定されます。デフォルトの entity を変更するには、設定 に移動し、[デフォルトの Team] の下の [新しい project を作成するデフォルトの場所] を更新します。
project この run が ログ される project の名前。指定されていない場合、git root や現在のプログラム ファイルの確認など、システムに基づいて project 名を推測するヒューリスティックを使用します。project 名を推測できない場合、project は "uncategorized" にデフォルト設定されます。
dir 実験 ログ と メタデータ ファイルが保存されるディレクトリーへの絶対パス。指定されていない場合、これはデフォルトで ./wandb ディレクトリーになります。これは、download() を呼び出すときに Artifacts が保存される場所に影響しないことに注意してください。
id 再開に使用される、この run の一意の識別子。project 内で一意である必要があり、run が削除されると再利用できません。識別子に、次の特殊文字を含めることはできません:/ \ # ? % :。短い説明的な名前には、name フィールドを使用します。run 間で比較するために ハイパーパラメーター を保存するには、config を使用します。
name この run の短い表示名。UI に表示され、run を識別するのに役立ちます。デフォルトでは、テーブルからチャートへの簡単な相互参照 run を可能にする、ランダムな 2 語の名前を生成します。これらの run 名を短く保つと、チャートの凡例とテーブルの可読性が向上します。ハイパーパラメーター を保存するには、config フィールドを使用することをお勧めします。
notes Git のコミット メッセージと同様に、run の詳細な説明。この引数を使用して、今後この run の目的または設定を思い出すのに役立つコンテキストまたは詳細をキャプチャします。
tags UI でこの run にラベルを付けるためのタグのリスト。タグは、run の整理や、“ベースライン” や “プロダクション” などの一時的な識別子の追加に役立ちます。UI でタグを簡単に追加、削除、またはタグでフィルタリングできます。run を再開する場合、ここで指定されたタグは、既存のタグを置き換えます。現在のタグを上書きせずに、再開された run にタグを追加するには、run = wandb.init() を呼び出した後で、run.tags += ["new_tag"] を使用します。
config wandb.config を設定します。これは、モデルの ハイパーパラメーター や データ の 前処理 設定など、run への入力 パラメータ を保存するための辞書のようなオブジェクトです。config は UI の概要ページに表示され、これらの パラメータ に基づいて run をグループ化、フィルタリング、および並べ替えることができます。キー にはピリオド(.)を含めないでください。また、値は 10 MB 未満にする必要があります。辞書、argparse.Namespace、または absl.flags.FLAGS が指定されている場合、キーと値のペア は wandb.config に直接ロードされます。文字列が指定されている場合は、YAML ファイルへのパスとして解釈され、そこから構成値が wandb.config にロードされます。
config_exclude_keys wandb.config から除外する特定のキーのリスト。
config_include_keys wandb.config に含める特定のキーのリスト。
allow_val_change config 値を最初に設定した後で変更できるかどうかを制御します。デフォルトでは、config 値が上書きされた場合、例外が発生します。学習率など、トレーニング 中に変化する変数を track する場合は、代わりに wandb.log() を使用することを検討してください。デフォルトでは、これはスクリプトでは False で、Notebook 環境では True です。
group より大規模な実験の一部として個々の run を整理するために、グループ名を指定します。これは、交差検証や、異なる テストセット でモデルをトレーニングおよび評価する複数のジョブを実行する場合に役立ちます。グループ化を使用すると、UI で関連する run をまとめて管理できるため、統一された実験として結果を簡単に切り替えて確認できます。詳細については、run のグループ化に関するガイド を参照してください。
job_type 特に、より大規模な実験の一部としてグループ内の run を整理する場合に役立つ、run のタイプを指定します。たとえば、グループでは、“train” や “eval” などの ジョブタイプ で run にラベルを付けることができます。ジョブタイプ を定義すると、UI で同様の run を簡単にフィルタリングおよびグループ化できるため、直接比較が容易になります。
mode run データの管理方法を指定します。次のオプションがあります。- "online"(デフォルト):ネットワーク接続が利用可能な場合、W&B とのライブ同期を有効にし、可視化をリアルタイムで更新します。- "offline":エアギャップ環境またはオフライン環境に適しています。データはローカルに保存され、後で同期できます。将来の同期を有効にするには、run フォルダーが保持されていることを確認してください。- "disabled":すべての W&B 機能を無効にし、run の メソッド を no-op にします。通常、W&B 操作をバイパスするためにテストで使用されます。
force スクリプトを実行するために W&B ログインが必要かどうかを決定します。True の場合、ユーザー は W&B にログインしている必要があります。そうでない場合、スクリプトは続行されません。False (デフォルト)の場合、ユーザー がログインしていなくてもスクリプトは続行でき、ユーザー がログインしていない場合はオフライン モードに切り替わります。
anonymous 匿名 データ の ログ 記録に対する制御のレベルを指定します。使用可能なオプションは次のとおりです。- "never"(デフォルト):run を track する前に、W&B アカウントをリンクする必要があります。これにより、各 run がアカウントに関連付けられるようにすることで、意図しない匿名の run の作成を防ぎます。- "allow":ログイン ユーザー がアカウントで run を track できるようにするだけでなく、W&B アカウントなしでスクリプトを実行している ユーザー が UI でチャートと データを表示できるようにします。- "must":ユーザー がログインしている場合でも、run が匿名アカウントに ログ されるように強制します。
reinit 複数の wandb.init() 呼び出しが、同じ プロセス 内で新しい run を開始できるかどうかを決定します。デフォルト(False)では、アクティブな run が存在する場合、wandb.init() を呼び出すと、新しい run を作成する代わりに、既存の run が返されます。reinit=True の場合、新しい run が初期化される前に、アクティブな run が終了します。Notebook 環境では、reinit が明示的に False に設定されていない限り、run はデフォルトで再初期化されます。
resume 指定された id で run を再開する際の 振る舞い を制御します。使用可能なオプションは次のとおりです。- "allow":指定された id を持つ run が存在する場合、最後のステップから再開されます。それ以外の場合は、新しい run が作成されます。- "never":指定された id を持つ run が存在する場合、エラーが発生します。そのような run が見つからない場合は、新しい run が作成されます。- "must":指定された id を持つ run が存在する場合、最後のステップから再開されます。run が見つからない場合は、エラーが発生します。- "auto":このマシンでクラッシュした場合、以前の run を自動的に再開します。それ以外の場合は、新しい run を開始します。- True:非推奨。代わりに "auto" を使用してください。- False:非推奨。常に新しい run を開始するには、デフォルトの 振る舞い (resume を設定しないままにする)を使用してください。注:resume が設定されている場合、fork_fromresume_from は使用できません。resume が設定されていない場合、システムは常に新しい run を開始します。詳細については、run の再開に関するガイド を参照してください。
resume_from 形式 {run_id}?_step={step} を使用して、以前の run の特定の時点から run を再開することを指定します。これにより、ユーザー は run に ログ された履歴を途中のステップで切り捨て、そのステップから ログ 記録を再開できます。ターゲット run は、同じ project 内にある必要があります。id 引数も指定されている場合、resume_from 引数が優先されます。resumeresume_from、および fork_from は一緒に使用できず、一度に 1 つだけ使用できます。注:この機能はベータ版であり、将来変更される可能性があります。
fork_from 形式 {id}?_step={step} を使用して、以前の run の特定の時点から新しい run をフォークすることを指定します。これにより、ターゲット run の履歴の指定されたステップから ログ 記録を再開する新しい run が作成されます。ターゲット run は、現在の project の一部である必要があります。id 引数も指定されている場合、fork_from 引数とは異なる必要があります。同じ場合は、エラーが発生します。resumeresume_from、および fork_from は一緒に使用できず、一度に 1 つだけ使用できます。注:この機能はベータ版であり、将来変更される可能性があります。
save_code メイン スクリプト または Notebook を W&B に保存できるようにします。これにより、実験 の 再現性 が向上し、UI で run 間の コード 比較が可能になります。デフォルトでは、これは無効になっていますが、設定ページ でデフォルトを変更して有効にすることができます。
tensorboard 非推奨。代わりに sync_tensorboard を使用してください。
sync_tensorboard TensorBoard または TensorBoardX から W&B ログ の自動同期を有効にし、W&B UI で表示するための関連 イベント ファイルを保存します。関連 イベント ファイルを保存して、W&B UI で表示します。(デフォルト:False
monitor_gym OpenAI Gym を使用する場合に、環境のビデオ の自動 ログ 記録を有効にします。詳細については、gym インテグレーション に関するガイド を参照してください。
settings run の詳細設定を含む辞書または wandb.Settings オブジェクトを指定します。
Returns
現在の run へのハンドルである Run オブジェクト。このオブジェクトを使用して、データの ログ 記録、ファイルの保存、run の終了などの操作を実行します。詳細については、Run API を参照してください。
Raises
Error run の初期化中に不明なエラーまたは内部エラーが発生した場合。
AuthenticationError ユーザー が有効な認証情報の提供に失敗した場合。
CommError W&B サーバー との通信に問題が発生した場合。
UsageError ユーザー が関数に無効な 引数 を指定した場合。
KeyboardInterrupt ユーザー が run の初期化 プロセス を中断した場合。ユーザー が run の初期化 プロセス を中断した場合。

8 - Integrations

モジュール

keras モジュール: wandbKeras と統合するためのツール。

8.1 - keras

wandbKeras と統合するためのツール。

クラス

class WandbCallback: WandbCallback は、Keras と wandb を自動的に統合します。

class WandbEvalCallback: モデル の 予測 の 可視化 のための Keras コールバック を構築するための抽象基底クラス。

class WandbMetricsLogger: システム メトリクス を W&B に送信する Logger。

class WandbModelCheckpoint: Keras モデル または モデル の重みを定期的に保存する チェックポイント 。

8.1.1 - WandbCallback

WandbCallback は、keras と wandb を自動的に インテグレーション します。

WandbCallback(
    monitor="val_loss", verbose=0, mode="auto", save_weights_only=(False),
    log_weights=(False), log_gradients=(False), save_model=(True),
    training_data=None, validation_data=None, labels=None, predictions=36,
    generator=None, input_type=None, output_type=None, log_evaluation=(False),
    validation_steps=None, class_colors=None, log_batch_frequency=None,
    log_best_prefix="best_", save_graph=(True), validation_indexes=None,
    validation_row_processor=None, prediction_row_processor=None,
    infer_missing_processors=(True), log_evaluation_frequency=0,
    compute_flops=(False), **kwargs
)

例:

model.fit(
    X_train,
    y_train,
    validation_data=(X_test, y_test),
    callbacks=[WandbCallback()],
)

WandbCallback は、keras によって収集されたすべての メトリクス (loss や keras_model.compile() に渡されたもの) から履歴 データを自動的に ログ します。

WandbCallback は、“best” の トレーニング ステップに関連付けられた run の概要 メトリクス を設定します。ここで、“best” は monitor および mode 属性によって定義されます。これはデフォルトで最小の val_loss を持つ エポック になります。WandbCallback は、デフォルトで best の epoch に関連付けられた model を保存します。

WandbCallback は、オプションで 勾配 と パラメータ のヒストグラムを ログ できます。

WandbCallback は、オプションで wandb が 可視化 するための トレーニング データ と 検証データ を保存できます。

Arg
monitor (str) 監視する メトリクス の名前。デフォルトは val_loss です。
mode (str) {auto, min, max} のいずれか。min - monitor が最小化されたときに model を保存します max - monitor が最大化されたときに model を保存します auto - model を保存するタイミングを推測しようとします (デフォルト)。
save_model True - monitor が以前のすべての エポック より優れている場合に model を保存します False - model を保存しません
save_graph (boolean) True の場合、model グラフを wandb に保存します (デフォルトは True)。
save_weights_only (boolean) True の場合、model の重みのみが保存されます (model.save_weights(filepath))。それ以外の場合は、完全な model が保存されます (model.save(filepath))。
log_weights (boolean) True の場合、model のレイヤーの重みのヒストグラムを保存します。
log_gradients (boolean) True の場合、トレーニング 勾配 のヒストグラムを ログ します
training_data (tuple) model.fit に渡されるのと同じ形式 (X,y)。これは 勾配 を計算するために必要です。log_gradientsTrue の場合は必須です。
validation_data (tuple) model.fit に渡されるのと同じ形式 (X,y)。wandb が 可視化 するための データの セット。これが設定されている場合、すべての エポック で、wandb は少数の 予測 を行い、後で 可視化 するために 結果 を保存します。画像データを扱っている場合は、正しく ログ するために input_typeoutput_type も設定してください。
generator (generator) wandb が 可視化 するための 検証データ を返す generator。この generator は、タプル (X,y) を返す必要があります。wandb が特定の データ 例を 可視化 するには、validate_data または generator のいずれかを設定する必要があります。画像データを扱っている場合は、正しく ログ するために input_typeoutput_type も設定してください。
validation_steps (int) validation_data が generator の場合、完全な 検証セット に対して generator を実行するステップ数。
labels (list) wandb で データを 可視化 している場合、この ラベル のリストは、多クラス分類器を構築している場合に数値出力を理解可能な文字列に変換します。バイナリ分類器を作成している場合は、2 つの ラベル のリスト [“false の ラベル “, “true の ラベル “] を渡すことができます。validate_data と generator が両方とも false の場合、これは何も行いません。
predictions (int) 各 エポック で 可視化 するために行う 予測 の数。最大は 100 です。
input_type (string) 可視化 を支援するための model 入力のタイプ。次のいずれかになります: (image, images, segmentation_mask, auto)。
output_type (string) 可視化 を支援するための model 出力のタイプ。次のいずれかになります: (image, images, segmentation_mask, label)。
log_evaluation (boolean) True の場合、各 エポック で 検証データ と model の 予測 を含む Table を保存します。詳細については、validation_indexesvalidation_row_processor、および output_row_processor を参照してください。
class_colors ([float, float, float]) 入力または出力が セグメンテーションマスク の場合、各クラスの rgb タプル (範囲 0 ~ 1) を含む配列。
log_batch_frequency (integer) None の場合、 コールバック はすべての エポック を ログ します。整数に設定すると、 コールバック は log_batch_frequency バッチごとに トレーニング メトリクス を ログ します。
log_best_prefix (string) None の場合、追加の概要 メトリクス は保存されません。文字列に設定すると、監視対象の メトリクス と エポック にこの 値 が付加され、概要 メトリクス として保存されます。
validation_indexes ([wandb.data_types._TableLinkMixin]) 各 検証 例に関連付ける インデックス キー の順序付きリスト。log_evaluation が True で、validation_indexes が指定されている場合、 検証データ の Table は作成されず、代わりに各 予測 が TableLinkMixin で表される行に関連付けられます。このような キー を取得する最も一般的な方法は、行 キー のリストを返す Table.get_index() を使用することです。
validation_row_processor (Callable) 検証データ に適用する関数。通常は データを 可視化 するために使用されます。この関数は、ndx (int) と row (dict) を受け取ります。model に単一の入力がある場合、row["input"] はその行の入力 データ になります。それ以外の場合は、入力 スロット の名前に基づいて キー が設定されます。fit 関数が単一のターゲットを受け取る場合、row["target"] はその行のターゲット データ になります。それ以外の場合は、出力 スロット の名前に基づいて キー が設定されます。たとえば、入力 データ が単一の ndarray であるが、データを Image として 可視化 したい場合は、lambda ndx, row: {"img": wandb.Image(row["input"])} を プロセッサ として指定できます。log_evaluation が False の場合、または validation_indexes が存在する場合は無視されます。
output_row_processor (Callable) validation_row_processor と同じですが、model の出力に適用されます。row["output"] には、model 出力の 結果 が含まれます。
infer_missing_processors (bool) validation_row_processoroutput_row_processor が見つからない場合に推論する必要があるかどうかを決定します。デフォルトは True です。labels が指定されている場合は、必要に応じて分類タイプの プロセッサ を推論しようとします。
log_evaluation_frequency (int) 評価 結果 を ログ する頻度を決定します。デフォルトは 0 (トレーニング の最後にのみ) です。すべての エポック で ログ する場合は 1 に、他のすべての エポック で ログ する場合は 2 に設定します。log_evaluation が False の場合は効果がありません。
compute_flops (bool) Keras Sequential または Functional model の FLOP を GigaFLOP 単位で計算します。

メソッド

get_flops

View source

get_flops() -> float

推論モードで tf.keras.Model または tf.keras.Sequential model の FLOPS [GFLOPs] を計算します。

内部的には tf.compat.v1.profiler を使用します。

set_model

View source

set_model(
    model
)

set_params

View source

set_params(
    params
)

8.1.2 - WandbEvalCallback

モデルの予測の可視化のために Keras の callback を構築するための抽象基底クラス。

WandbEvalCallback(
    data_table_columns: List[str],
    pred_table_columns: List[str],
    *args,
    **kwargs
) -> None

分類、オブジェクト検出、セグメンテーションなどのタスクのために、model.fit() に渡すことができる on_epoch_end でモデルの予測を可視化するための callback を構築できます。

これを使用するには、この基底 callback クラスを継承し、add_ground_truthadd_model_prediction メソッドを実装します。

基底クラスは、以下を処理します。

  • 正解をログするための data_table と、予測のための pred_table を初期化します。
  • data_table にアップロードされたデータは、pred_table の参照として使用されます。これは、メモリフットプリントを削減するためです。data_table_ref は、参照されたデータにアクセスするために使用できるリストです。その方法については、以下の例を確認してください。
  • テーブルを W&B に W&B Artifacts として記録します。
  • 新しい pred_table はそれぞれ、エイリアスを持つ新しいバージョンとしてログに記録されます。

例:

class WandbClfEvalCallback(WandbEvalCallback):
    def __init__(self, validation_data, data_table_columns, pred_table_columns):
        super().__init__(data_table_columns, pred_table_columns)

        self.x = validation_data[0]
        self.y = validation_data[1]

    def add_ground_truth(self):
        for idx, (image, label) in enumerate(zip(self.x, self.y)):
            self.data_table.add_data(idx, wandb.Image(image), label)

    def add_model_predictions(self, epoch):
        preds = self.model.predict(self.x, verbose=0)
        preds = tf.argmax(preds, axis=-1)

        data_table_ref = self.data_table_ref
        table_idxs = data_table_ref.get_index()

        for idx in table_idxs:
            pred = preds[idx]
            self.pred_table.add_data(
                epoch,
                data_table_ref.data[idx][0],
                data_table_ref.data[idx][1],
                data_table_ref.data[idx][2],
                pred,
            )


model.fit(
    x,
    y,
    epochs=2,
    validation_data=(x, y),
    callbacks=[
        WandbClfEvalCallback(
            validation_data=(x, y),
            data_table_columns=["idx", "image", "label"],
            pred_table_columns=["epoch", "idx", "image", "label", "pred"],
        )
    ],
)

よりきめ細かい制御を行うには、on_train_begin メソッドと on_epoch_end メソッドをオーバーライドできます。N 個のバッチ処理後にサンプルをログに記録する場合は、on_train_batch_end メソッドを実装できます。

メソッド

add_ground_truth

ソースを表示

@abc.abstractmethod
add_ground_truth(
    logs: Optional[Dict[str, float]] = None
) -> None

正解 データを data_table に追加します。

このメソッドを使用して、init_data_table メソッドを使用して初期化された data_table に、検証/トレーニングデータを追加するロジックを記述します。

例:

for idx, data in enumerate(dataloader):
    self.data_table.add_data(idx, data)

このメソッドは、on_train_begin または同等の hook で 1 回呼び出されます。

add_model_predictions

ソースを表示

@abc.abstractmethod
add_model_predictions(
    epoch: int,
    logs: Optional[Dict[str, float]] = None
) -> None

モデルからの予測を pred_table に追加します。

このメソッドを使用して、init_pred_table メソッドを使用して初期化された pred_table に、検証/トレーニングデータのモデル予測を追加するロジックを記述します。

例:

# データローダーがサンプルをシャッフルしないと仮定します。
for idx, data in enumerate(dataloader):
    preds = model.predict(data)
    self.pred_table.add_data(
        self.data_table_ref.data[idx][0],
        self.data_table_ref.data[idx][1],
        preds,
    )

このメソッドは、on_epoch_end または同等の hook で呼び出されます。

init_data_table

ソースを表示

init_data_table(
    column_names: List[str]
) -> None

検証データ 用の W&B Tables を初期化します。

このメソッドを on_train_begin または同等の hook で呼び出します。これに続いて、テーブルに行ごとまたは列ごとにデータを追加します。

Args
column_names (list) W&B Tables の列名。

init_pred_table

ソースを表示

init_pred_table(
    column_names: List[str]
) -> None

モデル評価用の W&B Tables を初期化します。

このメソッドを on_epoch_end または同等の hook で呼び出します。これに続いて、テーブルに行ごとまたは列ごとにデータを追加します。

Args
column_names (list) W&B Tables の列名。

log_data_table

ソースを表示

log_data_table(
    name: str = "val",
    type: str = "dataset",
    table_name: str = "val_data"
) -> None

data_table を W&B artifact としてログに記録し、それに対して use_artifact を呼び出します。

これにより、評価テーブルは、すでにアップロードされたデータ (画像、テキスト、スカラーなど) の参照を、再アップロードせずに使用できます。

Args
name (str) この Artifact の人間が読める名前。UI でこの Artifact を識別したり、use_artifact 呼び出しで参照したりする方法です。(デフォルトは ‘val’)
type (str) Artifact のタイプ。Artifact を整理および区別するために使用されます。(デフォルトは ‘dataset’)
table_name (str) UI に表示されるテーブルの名前。(デフォルトは ‘val_data’)。

log_pred_table

ソースを表示

log_pred_table(
    type: str = "evaluation",
    table_name: str = "eval_data",
    aliases: Optional[List[str]] = None
) -> None

モデル評価用の W&B Tables をログに記録します。

テーブルは複数回ログに記録され、新しいバージョンが作成されます。これを使用して、さまざまな間隔でモデルをインタラクティブに比較します。

Args
type (str) Artifact のタイプ。Artifact を整理および区別するために使用されます。(デフォルトは ’evaluation’)
table_name (str) UI に表示されるテーブルの名前。(デフォルトは ’eval_data')
aliases (List[str]) 予測テーブルのエイリアスのリスト。

set_model

set_model(
    model
)

set_params

set_params(
    params
)

8.1.3 - WandbMetricsLogger

システムメトリクスを W&B に送信するロガー。

WandbMetricsLogger(
    log_freq: Union[LogStrategy, int] = "epoch",
    initial_global_step: int = 0,
    *args,
    **kwargs
) -> None

WandbMetricsLogger は、コールバックメソッドが wandb に引数として取る logs 辞書を自動的に ログ 記録します。

このコールバックは、以下のものを自動的に W&B の run ページにログ記録します。

  • システム (CPU/GPU/TPU) メトリクス
  • model.compile で定義されたトレーニングおよび検証メトリクス
  • 学習率(固定値と学習率スケジューラの両方)

注:

initial_epochmodel.fit に渡してトレーニングを再開し、学習率スケジューラを使用している場合は、initial_global_stepWandbMetricsLogger に渡してください。initial_global_stepstep_size * initial_step です。step_size は、エポックごとのトレーニングステップ数です。step_size は、トレーニングデータセットのカーディナリティとバッチサイズの積として計算できます。

引数
log_freq (“epoch”、“batch”、または int) “epoch” の場合、各エポックの最後にメトリクスをログ記録します。“batch” の場合、各バッチの最後にメトリクスをログ記録します。整数である場合、その数のバッチの最後にメトリクスをログ記録します。デフォルトは “epoch” です。
initial_global_step (int) initial_epoch からトレーニングを再開し、学習率スケジューラを使用している場合は、この引数を使用して学習率を正しくログ記録します。これは step_size * initial_step として計算できます。デフォルトは 0 です。

メソッド

set_model

set_model(
    model
)

set_params

set_params(
    params
)

8.1.4 - WandbModelCheckpoint

Keras の model または model の重みを定期的に保存するチェックポイントです。

WandbModelCheckpoint(
    filepath: StrPath,
    monitor: str = "val_loss",
    verbose: int = 0,
    save_best_only: bool = (False),
    save_weights_only: bool = (False),
    mode: Mode = "auto",
    save_freq: Union[SaveStrategy, int] = "epoch",
    initial_value_threshold: Optional[float] = None,
    **kwargs
) -> None

保存された重みは、 wandb.Artifact として W&B にアップロードされます。

この callback は tf.keras.callbacks.ModelCheckpoint からサブクラス化されているため、 チェックポイントのロジックは親の callback によって処理されます。詳細については、 こちらをご覧ください: https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/ModelCheckpoint

この callback は、model.fit() を使用した training と組み合わせて使用​​し、 model または重み (チェックポイントファイル内) を一定の間隔で保存します。 model のチェックポイントは、W&B Artifacts としてログに記録されます。詳細については、こちらをご覧ください: https://docs.wandb.ai/guides/artifacts

この callback は、次の機能を提供します。

  • 「monitor」に基づいて「最高のパフォーマンス」を達成した model を保存します。
  • パフォーマンスに関係なく、エポックの最後に毎回 model を保存します。
  • エポックの終わり、または固定数の training バッチの後に model を保存します。
  • model の重みのみを保存するか、model 全体を保存します。
  • SavedModel 形式または .h5 形式で model を保存します。
Args
filepath (Union[str, os.PathLike]) model ファイルを保存するパス。 filepath には、epoch の値と logs ( on_epoch_end で渡される) のキーによって入力される名前付きの書式設定オプションを含めることができます。たとえば、filepathmodel-{epoch:02d}-{val_loss:.2f} の場合、model のチェックポイントは、ファイル名にエポック番号と検証損失を付けて保存されます。
monitor (str) 監視するメトリクスの名前。デフォルトは “val_loss” です。
verbose (int) 冗長モード、0 または 1。モード 0 はサイレントで、モード 1 は callback がアクションを実行するときにメッセージを表示します。
save_best_only (bool) save_best_only=True の場合、model が「最高」と見なされる場合にのみ保存され、監視対象の量に応じて、最新の最高の model は上書きされません。 filepath{epoch} のような書式設定オプションが含まれていない場合、filepath はローカルで新しいより良い model によって上書きされます。 Artifact としてログに記録された model は、引き続き正しい monitor に関連付けられます。 Artifacts は継続的にアップロードされ、新しい最高の model が見つかると、個別にバージョン管理されます。
save_weights_only (bool) True の場合、model の重みのみが保存されます。
mode (Mode) {‘auto’, ‘min’, ‘max’} のいずれか。 val_acc の場合、これは max である必要があり、val_loss の場合、これは min である必要があります。
save_freq (Union[SaveStrategy, int]) epoch または整数。 'epoch' を使用すると、callback は各エポックの後に model を保存します。整数を使用すると、callback はこの多数のバッチの終わりに model を保存します。 val_accval_loss などの検証メトリクスを監視する場合、これらのメトリクスはエポックの最後にのみ使用可能であるため、save_freq を “epoch” に設定する必要があることに注意してください。
initial_value_threshold (Optional[float]) 監視対象のメトリクスの浮動小数点初期「最良」値。
Attributes

Methods

set_model

set_model(
    model
)

set_params

set_params(
    params
)

9 - launch-library

クラス

class LaunchAgent: run キューから run をポーリングし、wandb Launch の run を起動する Launch エージェントクラス。

関数

launch(...): W&B Launch の実験を ローンチ します。

launch_add(...): W&B Launch の実験をエンキューします。ソース URI、ジョブ、または docker_image のいずれかを使用します。

9.1 - launch

W&B の Launch の experiment を Launch します。

launch(
    api: Api,
    job: Optional[str] = None,
    entry_point: Optional[List[str]] = None,
    version: Optional[str] = None,
    name: Optional[str] = None,
    resource: Optional[str] = None,
    resource_args: Optional[Dict[str, Any]] = None,
    project: Optional[str] = None,
    entity: Optional[str] = None,
    docker_image: Optional[str] = None,
    config: Optional[Dict[str, Any]] = None,
    synchronous: Optional[bool] = (True),
    run_id: Optional[str] = None,
    repository: Optional[str] = None
) -> AbstractRun
引数
job wandb.Job への文字列参照 (例: wandb/test/my-job:latest)
api wandb.apis.internal からの wandb Api のインスタンス。
entry_point プロジェクト内で実行するエントリポイント。wandb URI の場合は元の run で使用されたエントリポイント、git リポジトリ URI の場合は main.py をデフォルトで使用します。
version Git ベースのプロジェクトの場合、コミットハッシュまたはブランチ名のいずれか。
name run を Launch する run 名。
resource run の実行バックエンド。
resource_args リモートバックエンドに run を Launch するためのリソース関連の引数。resource_args の下の構築された Launch 設定に保存されます。
project Launch された run の送信先となる対象の Project
entity Launch された run の送信先となる対象の Entity
config run の設定を含む辞書。キー “resource_args” の下にあるリソース固有の引数も含む場合があります。
synchronous run の完了を待機中にブロックするかどうか。デフォルトは True です。synchronous が False で、backend が “local-container” の場合、このメソッドは戻りますが、現在のプロセスはローカル run が完了するまで終了時にブロックされます。現在のプロセスが中断された場合、このメソッドを介して Launch された非同期 run はすべて終了します。synchronous が True で、run が失敗した場合、現在のプロセスもエラーになります。
run_id run の ID (最終的に :name: フィールドを置き換えるため)
repository リモートレジストリのリポジトリパスの文字列名

例:

from wandb.sdk.launch import launch

job = "wandb/jobs/Hello World:latest"
params = {"epochs": 5}
# W&B プロジェクトを実行し、再現可能な Docker 環境をローカルホスト上に作成します。
api = wandb.apis.internal.Api()
launch(api, job, parameters=params)
戻り値
Launch された run に関する情報 (run ID など) を公開する wandb.launch.SubmittedRun のインスタンス。
例外
wandb.exceptions.ExecutionError ブロックモードで Launch された run が失敗した場合。

9.2 - launch_add

W&B の Launch の experiment をエンキューします。ソース URI 、job 、または docker_image のいずれかを使用します。

launch_add(
    uri: Optional[str] = None,
    job: Optional[str] = None,
    config: Optional[Dict[str, Any]] = None,
    template_variables: Optional[Dict[str, Union[float, int, str]]] = None,
    project: Optional[str] = None,
    entity: Optional[str] = None,
    queue_name: Optional[str] = None,
    resource: Optional[str] = None,
    entry_point: Optional[List[str]] = None,
    name: Optional[str] = None,
    version: Optional[str] = None,
    docker_image: Optional[str] = None,
    project_queue: Optional[str] = None,
    resource_args: Optional[Dict[str, Any]] = None,
    run_id: Optional[str] = None,
    build: Optional[bool] = (False),
    repository: Optional[str] = None,
    sweep_id: Optional[str] = None,
    author: Optional[str] = None,
    priority: Optional[int] = None
) -> "public.QueuedRun"
引数
uri 実行する experiment の URI 。Wandb の run の URI または Git リポジトリの URI 。
job wandb.Job への文字列参照(例:wandb/test/my-job:latest)
config run の 設定 を含む 辞書 。キー “resource_args” の下にあるリソース固有の 引数 も含めることができます。
template_variables run queue の テンプレート 変数の 値 を含む 辞書 。{"VAR_NAME": VAR_VALUE} の 形式 が想定されます。
project Launch された run の送信先となるターゲット プロジェクト
entity Launch された run の送信先となるターゲット エンティティ
queue run をエンキューする queue の 名前
priority job の 優先度 。1 が 最も高い 優先度 です。
resource run の 実行 バックエンド:W&B は “local-container” バックエンドの組み込みサポートを提供します。
entry_point プロジェクト 内で 実行 する エントリーポイント。wandb URI の 場合は 元の run で 使用 された エントリーポイント、Git リポジトリ URI の 場合は main.py を デフォルト で 使用 します。
name run を Launch する際に 使用 する run の 名前 。
version Git ベース の プロジェクト の 場合、コミット ハッシュ または ブランチ 名 のいずれか。
docker_image run に 使用 する docker イメージ の 名前 。
resource_args リモート バックエンド への run の Launch に 関連 する リソース 引数 。resource_args の下で 構築 された Launch 設定 に 保存 されます。
run_id Launch された run の ID を 示す オプション の 文字列
build オプション の フラグ で、デフォルト は False です。queue を 設定 する 必要 が ある 場合、イメージ が 作成 され、job アーティファクト が 作成 され、その job アーティファクト への 参照 が queue に プッシュ されます。
repository イメージ を レジストリ に プッシュ する 際 に 使用 される、リモート リポジトリ の 名前 を 制御 する オプション の 文字列。
project_queue queue の プロジェクト の 名前 を 制御 する オプション の 文字列。主に プロジェクト スコープ の queue との 後方 互換性 のために 使用 されます。

例:

from wandb.sdk.launch import launch_add

project_uri = "https://github.com/wandb/examples"
params = {"alpha": 0.5, "l1_ratio": 0.01}
# Run W&B プロジェクト と 再現 可能 な docker 環境 を 作成 します
# ローカル ホスト 上 で
api = wandb.apis.internal.Api()
launch_add(uri=project_uri, parameters=params)
戻り値
wandb.api.public.QueuedRun の インスタンス。キューに 入った run に関する 情報 を 提供 し、wait_until_started または wait_until_finished が 呼び出さ れた 場合 は、基盤 と なる Run 情報 への アクセス を 提供 します。
例外
失敗 した 場合 の wandb.exceptions.LaunchError

9.3 - LaunchAgent

run が与えられた run キューをポーリングし、wandb の Launch 用に run を起動する Launch agent クラス。

LaunchAgent(
    api: Api,
    config: Dict[str, Any]
)
引数
api バックエンドへのリクエストを行うために使用する Api オブジェクト。
config agent の設定辞書。
属性
num_running_jobs スケジューラを含まないジョブの数を返します。
num_running_schedulers スケジューラの数だけを返します。
thread_ids agent のスレッド ID を実行しているキーのリストを返します。

メソッド

check_sweep_state

ソースを表示

check_sweep_state(
    launch_spec, api
)

sweep の run を起動する前に、sweep の状態を確認します。

fail_run_queue_item

ソースを表示

fail_run_queue_item(
    run_queue_item_id, message, phase, files=None
)

finish_thread_id

ソースを表示

finish_thread_id(
    thread_id, exception=None
)

今のところ、ジョブをリストから削除します。

get_job_and_queue

ソースを表示

get_job_and_queue()

initialized

ソースを表示

@classmethod
initialized() -> bool

agent が初期化されているかどうかを返します。

loop

ソースを表示

loop()

ジョブを無限にポーリングして実行します。

例外
KeyboardInterrupt agent が停止を要求された場合。

name

ソースを表示

@classmethod
name() -> str

agent の名前を返します。

pop_from_queue

ソースを表示

pop_from_queue(
    queue
)

ジョブとして実行するために、runqueue からアイテムをポップします。

引数
queue ポップするキュー。
戻り値
キューからポップされたアイテム。
例外
Exception キューからのポップ中にエラーが発生した場合。

ソースを表示

print_status() -> None

agent の現在のステータスを出力します。

run_job

ソースを表示

run_job(
    job, queue, file_saver
)

プロジェクトを設定し、ジョブを実行します。

引数
job 実行するジョブ。

task_run_job

ソースを表示

task_run_job(
    launch_spec, job, default_config, api, job_tracker
)

update_status

ソースを表示

update_status(
    status
)

agent のステータスを更新します。

引数
status agent を更新するステータス。

10 - log

run データをアップロードします。

log(
    data: dict[str, Any],
    step: (int | None) = None,
    commit: (bool | None) = None,
    sync: (bool | None) = None
) -> None

log を使用して、スカラー、画像、ビデオ、ヒストグラム、プロット、テーブルなど、run からデータをログに記録します。

ライブの例、コードスニペット、ベストプラクティスなどについては、ログ記録に関するガイド を参照してください。

最も基本的な使い方は、run.log({"train-loss": 0.5, "accuracy": 0.9}) です。 これにより、損失と精度がrun の履歴に保存され、これらのメトリクスの概要値が更新されます。

wandb.ai のワークスペース、または W&B アプリのセルフホストインスタンス でログに記録されたデータを視覚化するか、API を使用してデータをエクスポートし、Jupyter ノートブックなどのローカルで視覚化および探索します。

ログに記録される値は、スカラーである必要はありません。wandb オブジェクトのログ記録はすべてサポートされています。 たとえば、run.log({"example": wandb.Image("myimage.jpg")}) は、W&B UI に適切に表示されるサンプル画像をログに記録します。 サポートされているすべての異なるタイプについては、リファレンスドキュメント を参照するか、3D 分子構造やセグメンテーションマスクから PR 曲線やヒストグラムまで、例についてはログ記録に関するガイド を確認してください。 wandb.Table を使用して構造化されたデータをログに記録できます。詳細については、テーブルのログ記録に関するガイド を参照してください。

W&B UI は、名前にフォワードスラッシュ(/)が付いたメトリクスを、最後のスラッシュの前のテキストを使用して名前が付けられたセクションに整理します。たとえば、以下は「train」と「validate」という名前の2つのセクションになります。

run.log(
    {
        "train/accuracy": 0.9,
        "train/loss": 30,
        "validate/accuracy": 0.8,
        "validate/loss": 20,
    }
)

ネストできるレベルは1つのみです。run.log({"a/b/c": 1}) は、「a/b」という名前のセクションを生成します。

run.log は、1秒あたり数回以上呼び出されることは想定されていません。 最適なパフォーマンスを得るには、ログ記録を N 回のイテレーションごとに1回に制限するか、複数のイテレーションでデータを収集して、1つのステップでログに記録します。

W&B ステップ

基本的な使用法では、log を呼び出すたびに新しい「ステップ」が作成されます。 ステップは常に増加する必要があり、前のステップにログを記録することはできません。

任意のメトリクスをグラフの X 軸として使用できることに注意してください。 多くの場合、W&B ステップをトレーニングステップとしてではなく、タイムスタンプのように扱う方が適しています。

# 例: X 軸として使用する「epoch」メトリクスをログに記録します。
run.log({"epoch": 40, "train-loss": 0.5})

define_metric も参照してください。

複数の log 呼び出しを使用して、step および commit パラメータを使用して同じステップにログを記録できます。 以下はすべて同等です。

# 通常の用法:
run.log({"train-loss": 0.5, "accuracy": 0.8})
run.log({"train-loss": 0.4, "accuracy": 0.9})

# 自動インクリメントなしの暗黙的なステップ:
run.log({"train-loss": 0.5}, commit=False)
run.log({"accuracy": 0.8})
run.log({"train-loss": 0.4}, commit=False)
run.log({"accuracy": 0.9})

# 明示的なステップ:
run.log({"train-loss": 0.5}, step=current_step)
run.log({"accuracy": 0.8}, step=current_step)
current_step += 1
run.log({"train-loss": 0.4}, step=current_step)
run.log({"accuracy": 0.9}, step=current_step)
引数
data str キーと、intfloatstring などのシリアル化可能な Python オブジェクトである値を持つ dictwandb.data_types、シリアル化可能な Python オブジェクトのリスト、タプル、NumPy 配列。この構造の他の dict
step ログに記録するステップ番号。None の場合、暗黙的な自動インクリメントステップが使用されます。説明の注記を参照してください。
commit true の場合、ステップを確定してアップロードします。false の場合、ステップのデータを累積します。説明の注記を参照してください。stepNone の場合、デフォルトは commit=True です。それ以外の場合、デフォルトは commit=False です。
sync この引数は非推奨であり、何も行いません。

例:

より詳細な例については、ログ記録に関するガイド を参照してください。

基本的な使用法

import wandb

with wandb.init() as run:
    run.log({"accuracy": 0.9, "epoch": 5})

インクリメンタルログ記録

import wandb

with wandb.init() as run:
    run.log({"loss": 0.2}, commit=False)
    # このステップを報告する準備ができたら、別の場所で:
    run.log({"accuracy": 0.8})

ヒストグラム

import numpy as np
import wandb

# 正規分布からランダムに勾配をサンプリング
gradients = np.random.randn(100, 100)
with wandb.init() as run:
    run.log({"gradients": wandb.Histogram(gradients)})

numpy からの画像

import numpy as np
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
        image = wandb.Image(pixels, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})

PIL からの画像

import numpy as np
from PIL import Image as PILImage
import wandb

with wandb.init() as run:
    examples = []
    for i in range(3):
        pixels = np.random.randint(
            low=0,
            high=256,
            size=(100, 100, 3),
            dtype=np.uint8,
        )
        pil_image = PILImage.fromarray(pixels, mode="RGB")
        image = wandb.Image(pil_image, caption=f"random field {i}")
        examples.append(image)
    run.log({"examples": examples})

numpy からの動画

import numpy as np
import wandb

with wandb.init() as run:
    # 軸は (時間、チャンネル、高さ、幅)
    frames = np.random.randint(
        low=0,
        high=256,
        size=(10, 3, 100, 100),
        dtype=np.uint8,
    )
    run.log({"video": wandb.Video(frames, fps=4)})

Matplotlib プロット

from matplotlib import pyplot as plt
import numpy as np
import wandb

with wandb.init() as run:
    fig, ax = plt.subplots()
    x = np.linspace(0, 10)
    y = x * x
    ax.plot(x, y)  # y = x^2 をプロット
    run.log({"chart": fig})

PR 曲線

import wandb

with wandb.init() as run:
    run.log({"pr": wandb.plot.pr_curve(y_test, y_probas, labels)})

3D オブジェクト

import wandb

with wandb.init() as run:
    run.log(
        {
            "generated_samples": [
                wandb.Object3D(open("sample.obj")),
                wandb.Object3D(open("sample.gltf")),
                wandb.Object3D(open("sample.glb")),
            ]
        }
    )
発生
wandb.Error wandb.init の前に呼び出された場合
ValueError 無効なデータが渡された場合

11 - login

W&B のログイン認証情報を設定します。

login(
    anonymous: Optional[Literal['must', 'allow', 'never']] = None,
    key: Optional[str] = None,
    relogin: Optional[bool] = None,
    host: Optional[str] = None,
    force: Optional[bool] = None,
    timeout: Optional[int] = None,
    verify: bool = (False)
) -> bool

デフォルトでは、W&B サーバー で検証せずに、認証情報をローカルにのみ保存します。認証情報を検証するには、verify=True を渡します。

Args
anonymous (文字列、オプション) “must”、“allow”、または “never” を指定できます。“must” に設定すると、常に匿名で ユーザー をログインさせます。“allow” に設定すると、ユーザー がまだログインしていない場合にのみ、匿名 ユーザー を作成します。“never” に設定すると、匿名 ユーザー を決してログインさせません。デフォルトは “never” に設定されています。
key (文字列、オプション) 使用する APIキー 。
relogin (bool、オプション) Trueの場合、 APIキー の入力を再度求めます。
host (文字列、オプション) 接続先のホスト。
force (bool、オプション) Trueの場合、強制的に再ログインします。
timeout (int、オプション) ユーザー 入力を待つ秒数。
verify (bool) W&B サーバー で認証情報を検証します。
Returns
bool APIキー が設定されている場合
Raises
AuthenticationError - サーバー で api_key の検証に失敗した場合 UsageError - api_key を設定できず、tty がない場合

12 - Run

wandb によってログされる計算の単位。通常、これは 機械学習 の実験です。

Run(
    settings: Settings,
    config: (dict[str, Any] | None) = None,
    sweep_config: (dict[str, Any] | None) = None,
    launch_config: (dict[str, Any] | None) = None
) -> None

wandb.init() で run を作成します。

import wandb

run = wandb.init()

プロセス内にアクティブな wandb.Run は最大で 1 つだけであり、 wandb.run としてアクセスできます。

import wandb

assert wandb.run is None

wandb.init()

assert wandb.run is not None

wandb.log でログに記録した内容はすべて、その run に送信されます。

同じスクリプトまたは notebook で複数の run を開始する場合は、 実行中の run を終了する必要があります。Run は wandb.finish で終了するか、 with ブロックで使用することで終了できます。

import wandb

wandb.init()
wandb.finish()

assert wandb.run is None

with wandb.init() as run:
    pass  # log data here

assert wandb.run is None

run の作成の詳細については、wandb.init のドキュメントを参照するか、 wandb.init のガイド を確認してください。

分散トレーニングでは、ランク 0 のプロセスで単一の run を作成し、 そのプロセスからのみ情報をログに記録するか、各プロセスで run を作成し、 それぞれから個別にログに記録し、wandb.init への group 引数を使用して結果をグループ化できます。 W&B を使用した分散トレーニングの詳細については、 ガイド を確認してください。

現在、wandb.Api には並列 Run オブジェクトがあります。最終的には、これら 2 つの オブジェクトはマージされます。

属性
summary (Summary) 各 wandb.log() キーに設定された単一の値。デフォルトでは、summary は最後にログに記録された値に設定されます。最終値の代わりに、最大精度のような最良の値に summary を手動で設定できます。
config この run に関連付けられた Config オブジェクト。
dir run に関連付けられたファイルが保存されるディレクトリー。
entity run に関連付けられた W&B のエンティティーの名前。エンティティーは、ユーザー名、チーム名、または組織名にすることができます。
group run に関連付けられたグループの名前。グループを設定すると、W&B UI で run をわかりやすい方法で整理できます。分散トレーニングを行っている場合は、トレーニング内のすべての run に同じグループを指定する必要があります。クロスバリデーションを行っている場合は、すべてのクロスバリデーションの fold に同じグループを指定する必要があります。
id この run の識別子。
mode 0.9.x 以前との互換性のため。最終的には非推奨になります。
name run の表示名。表示名は一意であるとは限らず、記述的な場合があります。デフォルトでは、ランダムに生成されます。
notes run に関連付けられたメモ (存在する場合)。メモは複数行の文字列にすることができ、$$ 内で markdown および latex 数式を使用することもできます (例: $x + 3$)。
path run へのパス。run パスには、エンティティー、プロジェクト、run ID が entity/project/run_id の形式で含まれます。
project run に関連付けられた W&B プロジェクトの名前。
resumed run が再開された場合は True、そうでない場合は False。
settings run の Settings オブジェクトのフリーズされたコピー。
start_time run が開始されたときの Unix タイムスタンプ (秒単位)。
starting_step run の最初のステップ。
step ステップの現在の値。このカウンターは wandb.log によってインクリメントされます。
sweep_id run に関連付けられた sweep の ID (存在する場合)。
tags run に関連付けられたタグ (存在する場合)。
url run に関連付けられた W&B の URL。

メソッド

alert

View source

alert(
    title: str,
    text: str,
    level: (str | AlertLevel | None) = None,
    wait_duration: (int | float | timedelta | None) = None
) -> None

指定されたタイトルとテキストでアラートを起動します。

Args
title (str) アラートのタイトル。64 文字未満である必要があります。
text (str) アラートのテキスト本文。
level (str または AlertLevel、オプション) 使用するアラートレベル。INFOWARN、または ERROR のいずれかです。
wait_duration (int、float、または timedelta、オプション) このタイトルで別のアラートを送信するまでの待機時間 (秒単位)。

define_metric

View source

define_metric(
    name: str,
    step_metric: (str | wandb_metric.Metric | None) = None,
    step_sync: (bool | None) = None,
    hidden: (bool | None) = None,
    summary: (str | None) = None,
    goal: (str | None) = None,
    overwrite: (bool | None) = None
) -> wandb_metric.Metric

wandb.log() でログに記録されたメトリクスをカスタマイズします。

Args
name カスタマイズするメトリクスの名前。
step_metric 自動生成されたグラフで、このメトリクスの X 軸として機能する別のメトリクスの名前。
step_sync step_metric が明示的に指定されていない場合、step_metric の最後の値を自動的に run.log() に挿入します。step_metric が指定されている場合、デフォルトは True です。
hidden このメトリクスを自動プロットから非表示にします。
summary summary に追加される集計メトリクスを指定します。サポートされている集計には、“min”、“max”、“mean”、“last”、“best”、“copy”、および “none” があります。“best” は goal パラメータとともに使用されます。“none” は summary が生成されないようにします。“copy” は非推奨であり、使用しないでください。
goal “best” summary タイプを解釈する方法を指定します。サポートされているオプションは、“minimize” と “maximize” です。
overwrite false の場合、この呼び出しは、指定されていないパラメータにそれらの値を使用して、同じメトリクスの以前の define_metric 呼び出しとマージされます。true の場合、指定されていないパラメータは、以前の呼び出しで指定された値を上書きします。
戻り値
この呼び出しを表すオブジェクト。それ以外の場合は破棄できます。

detach

View source

detach() -> None

display

View source

display(
    height: int = 420,
    hidden: bool = (False)
) -> bool

この run を jupyter で表示します。

finish

View source

finish(
    exit_code: (int | None) = None,
    quiet: (bool | None) = None
) -> None

run を終了し、残りのデータをアップロードします。

W&B run の完了をマークし、すべてのデータがサーバーに同期されるようにします。 run の最終状態は、終了条件と同期ステータスによって決まります。

Run の状態:

  • Running: データをログに記録している、またはハートビートを送信しているアクティブな run。
  • Crashed: ハートビートの送信が予期せず停止した run。
  • Finished: すべてのデータが同期されて正常に完了した run (exit_code=0)。
  • Failed: エラーで完了した run (exit_code!=0)。
Args
exit_code run の終了ステータスを示す整数。成功の場合は 0 を使用し、他の値を使用すると run が失敗としてマークされます。
quiet 非推奨。wandb.Settings(quiet=...) を使用して、ログの冗長性を構成します。

finish_artifact

View source

finish_artifact(
    artifact_or_path: (Artifact | str),
    name: (str | None) = None,
    type: (str | None) = None,
    aliases: (list[str] | None) = None,
    distributed_id: (str | None) = None
) -> Artifact

run の出力として、非 final な artifact を終了します。

同じ分散 ID を使用した後続の “upsert” は、新しいバージョンになります。

Args
artifact_or_path (str または Artifact) この artifact のコンテンツへのパス。次の形式にすることができます。- /local/directory - /local/directory/file.txt - s3://bucket/path wandb.Artifact を呼び出して作成された Artifact オブジェクトを渡すこともできます。
name (str、オプション) artifact 名。エンティティー/プロジェクトでプレフィックスを付けることができます。有効な名前は、次の形式にすることができます。- name:version - name:alias - digest これが指定されていない場合、パスの basename に現在の run ID が付加されたものがデフォルトになります。
type (str) ログに記録する artifact のタイプ (例: datasetmodel)
aliases (list、オプション) この artifact に適用するエイリアス。デフォルトは ["latest"] です。
distributed_id (string、オプション) すべての分散ジョブが共有する一意の文字列。None の場合、run のグループ名がデフォルトになります。
戻り値
Artifact オブジェクト。

get_project_url

View source

get_project_url() -> (str | None)

run に関連付けられた W&B プロジェクトの URL を返します (存在する場合)。

オフライン run にはプロジェクト URL がありません。

get_sweep_url

View source

get_sweep_url() -> (str | None)

run に関連付けられた sweep の URL を返します (存在する場合)。

get_url

View source

get_url() -> (str | None)

W&B run の URL を返します (存在する場合)。

オフライン run には URL がありません。

join

View source

join(
    exit_code: (int | None) = None
) -> None

finish() の非推奨のエイリアス - 代わりに finish を使用してください。

View source

link_artifact(
    artifact: Artifact,
    target_path: str,
    aliases: (list[str] | None) = None
) -> None

指定された artifact をポートフォリオ (artifact の昇格されたコレクション) にリンクします。

リンクされた artifact は、指定されたポートフォリオの UI に表示されます。

Args
artifact リンクされる (パブリックまたはローカル) artifact
target_path str - 次の形式を取ります: {portfolio}{project}/{portfolio}、または {entity}/{project}/{portfolio}
aliases List[str] - オプションのエイリアス。このリンクされた artifact のポートフォリオ内でのみ適用されます。エイリアス “latest” は、リンクされている artifact の最新バージョンに常に適用されます。
戻り値
なし

View source

link_model(
    path: StrPath,
    registered_model_name: str,
    name: (str | None) = None,
    aliases: (list[str] | None) = None
) -> None

モデル artifact バージョンをログに記録し、モデルレジストリ内の登録済みモデルにリンクします。

リンクされたモデルバージョンは、指定された登録済みモデルの UI に表示されます。

手順:

  • ’name’ モデル artifact がログに記録されているかどうかを確認します。ログに記録されている場合は、‘path’ にあるファイルと一致する artifact バージョンを使用するか、新しいバージョンをログに記録します。それ以外の場合は、‘path’ の下のファイルを新しいモデル artifact ’name’、タイプ ‘model’ としてログに記録します。
  • ‘model-registry’ プロジェクトに名前 ‘registered_model_name’ の登録済みモデルが存在するかどうかを確認します。存在しない場合は、名前 ‘registered_model_name’ の新しい登録済みモデルを作成します。
  • モデル artifact ’name’ のバージョンを登録済みモデル ‘registered_model_name’ にリンクします。
  • ‘aliases’ リストからエイリアスを新しくリンクされたモデル artifact バージョンにアタッチします。
Args
path (str) このモデルのコンテンツへのパス。次の形式にすることができます。- /local/directory - /local/directory/file.txt - s3://bucket/path
registered_model_name (str) - モデルがリンクされる登録済みモデルの名前。登録済みモデルは、モデルレジストリにリンクされたモデルバージョンのコレクションであり、通常はチーム固有の ML タスクを表します。この登録済みモデルが属するエンティティーは、run から派生します。
name (str、オプション) - ‘path’ 内のファイルがログに記録されるモデル artifact の名前。指定されていない場合、パスの basename に現在の run ID が付加されたものがデフォルトになります。
aliases (List[str]、オプション) - このリンクされた artifact の登録済みモデル内でのみ適用されるエイリアス。エイリアス “latest” は、リンクされている artifact の最新バージョンに常に適用されます。

例:

run.link_model(
    path="/local/directory",
    registered_model_name="my_reg_model",
    name="my_model_artifact",
    aliases=["production"],
)

無効な使用法

run.link_model(
    path="/local/directory",
    registered_model_name="my_entity/my_project/my_reg_model",
    name="my_model_artifact",
    aliases=["production"],
)

run.link_model(
    path="/local/directory",
    registered_model_name="my_reg_model",
    name="my_entity/my_project/my_model_artifact",
    aliases=["production"],
)
Raises
AssertionError registered_model_name がパスの場合、またはモデル artifact ’name’ がサブストリング ‘model’ を含まないタイプの場合。
ValueError name に無効な特殊文字がある場合
戻り値
なし

log

View source

log(
    data: dict[str, Any],
    step: (int | None) = None,
    commit: (bool | None) = None,
    sync: (bool | None) = None
) -> None

run データをアップロードします。

log を使用して、スカラー、画像、ビデオ、 ヒストグラム、プロット、テーブルなどの run からデータをログに記録します。

ライブの例、コードスニペット、ベストプラクティスなどについては、 ログ記録のガイド を参照してください。

最も基本的な使用法は run.log({"train-loss": 0.5, "accuracy": 0.9}) です。 これにより、損失と精度が run の履歴に保存され、 これらのメトリクスの summary 値が更新されます。

ログに記録されたデータは、wandb.ai のワークスペース、 または W&B アプリの セルフホストインスタンス で、 またはデータをエクスポートして、ローカルで視覚化および探索できます。 たとえば、API を使用して、 Jupyter notebook で視覚化および探索できます。

ログに記録された値は、スカラーである必要はありません。wandb オブジェクトのログ記録はすべてサポートされています。 たとえば、run.log({"example": wandb.Image("myimage.jpg")}) は、 W&B UI で適切に表示されるサンプル画像をログに記録します。 サポートされているさまざまなタイプについては、リファレンスドキュメント を参照するか、 例については、ログ記録のガイド を確認してください。 3D 分子構造やセグメンテーションマスクから PR 曲線やヒストグラムまであります。 wandb.Table を使用して、構造化データをログに記録できます。詳細については、 テーブルのログ記録のガイド を参照してください。

W&B UI は、名前のフォワードスラッシュ (/) を使用してメトリクスを整理し、 最後のスラッシュの前のテキストを使用してセクションに名前を付けます。たとえば、 次の結果は、“train” と “validate” という名前の 2 つのセクションになります。

run.log(
    {
        "train/accuracy": 0.9,
        "train/loss": 30,
        "validate/accuracy": 0.8,
        "validate/loss": 20,
    }
)

ネストのレベルは 1 つだけサポートされています。run.log({"a/b/c": 1}) は、“a/b” という名前のセクションを生成します。

run.log は、1 秒あたり数回以上呼び出されることを想定していません。 最適なパフォーマンスを得るには、ログ記録を N 回のイテレーションごとに 1 回に制限するか、 複数のイテレーションでデータを収集し、1 つのステップでログに記録します。

W&B ステップ

基本的な使用法では、log の各呼び出しによって新しい “ステップ” が作成されます。 ステップは常に増加する必要があり、前のステップにログに記録することはできません。

グラフでは、任意のメトリクスを X 軸として使用できることに注意してください。 多くの場合、W&B ステップをトレーニングステップとしてではなく、 タイムスタンプとして扱う方が適しています。

# 例: X 軸として使用する "epoch" メトリクスをログに記録します。
run.log({"epoch": 40, "train-loss": 0.5})

define_metric も参照してください。

複数の log 呼び出しを使用して、 step および commit パラメータを使用して同じステップにログに記録することができます。 次はすべて同等です。

# 通常の使用法:
run.log({"train-loss": 0.5, "accuracy": 0.8})
run.log({"train-loss": 0.4, "accuracy": 0.9})

# 自動インクリメントなしの暗黙的なステップ:
run.log({"train-loss": 0.5}, commit=False)
run.log({"accuracy": 0.8})
run.log({"train-loss": 0.4}, commit=False)
run.log({"accuracy": 0.9})

# 明示的なステップ:
run.log({"train-loss": 0.5}, step=current_step)
run.log({"accuracy": 0.8}, step=current_step)
current_step += 1
run.log({"train-loss": 0.4}, step=current_step)
run.log({"accuracy": 0.9}, step=current_step)
Args
data str キーと、intfloatstringwandb.data_types、シリアル化可能な Python オブジェクトのリスト、タプル、NumPy 配列、この構造の他の dict など、シリアル化可能な Python オブジェクトである値を含む dict
step ログに記録するステップ番号。None の場合、暗黙的な自動インクリメントステップが使用されます。説明のメモを参照してください。
commit true の場合、ステップを確定してアップロードします。false の場合、ステップのデータを累積します。説明のメモを参照してください。stepNone の場合、デフォルトは commit=True です。それ以外の場合、デフォルトは commit=False です。
sync この引数は非推奨であり、何も行いません。

例:

詳細な例については、 ログ記録のガイド を参照してください。

基本的な使用法

import wandb

run = wandb.init()
run.log({"accuracy": 0.9, "epoch": 5})

増分ログ記録

import wandb

run = wandb.init()
run.log({"loss": 0.2}, commit=False)
# Somewhere else when I'm ready to report this step:
# 別の場所で、このステップを報告する準備ができたとき:
run.log({"accuracy": 0.8})

ヒストグラム

import numpy as np
import wandb

# sample gradients at random from normal distribution
# 正規分布からランダムに勾配をサンプリングします
gradients = np.random.randn(100, 100)
run = wandb.init()
run.log({"gradients": wandb.Histogram(gradients)})

numpy からの画像

import numpy as np
import wandb

run = wandb.init()
examples = []
for i in range(3):
    pixels = np.random.randint(low=0, high=256, size=(100, 100, 3))
    image = wandb.Image(pixels, caption=f"random field {i}")
    examples.append(image)
run.log({"examples": examples})

PIL からの画像

import numpy as np
from PIL import Image as PILImage
import wandb

run = wandb.init()
examples = []
for i in range(3):
    pixels = np.random.randint(
        low=0,
        high=256,
        size=(100, 100, 3),
        dtype=np.uint8,
    )
    pil_image = PILImage.fromarray(pixels, mode="RGB")
    image = wandb.Image(pil_image, caption=f"random field {i}")
    examples.append(image)
run.log({"examples": examples})

numpy からのビデオ

import numpy as np
import wandb

run = wandb.init()
# axes are (time, channel, height, width)
# 軸は (時間、チャンネル、高さ、幅) です
frames = np.random.randint(
    low=0,
    high=256,
    size=(10, 3, 100, 100),
    dtype=np.uint8,
)
run.log({"video": wandb.Video(frames, fps=4)})

Matplotlib プロット

from matplotlib import pyplot as plt
import numpy as np
import wandb

run = wandb.init()
fig, ax = plt.subplots()
x = np.linspace(0, 10)
y = x * x
ax.plot(x, y)  # plot y = x^2
# y = x^2 をプロットします
run.log({"chart": fig})

PR 曲線

import wandb

run = wandb.init()
run.log({"pr": wandb.plot.pr_curve(y_test, y_probas, labels)})

3D オブジェクト

import wandb

run = wandb.init()
run.log(
    {
        "generated_samples": [
            wandb.Object3D(open("sample.obj")),
            wandb.Object3D(open("sample.gltf")),
            wandb.Object3D(open("sample.glb")),
        ]
    }
)
Raises
wandb.Error wandb.init の前に呼び出された場合
ValueError 無効なデータが渡された場合

log_artifact

View source

log_artifact(
    artifact_or_path: (Artifact | StrPath),
    name: (str | None) = None,
    type: (str | None) = None,
    aliases: (list[str] | None) = None,
    tags: (list[str] | None) = None
) -> Artifact

artifact を run の出力として宣言します。

Args
artifact_or_path (str または Artifact) この artifact のコンテンツへのパス。次の形式にすることができます。- /local/directory - /local/directory/file.txt - s3://bucket/path wandb.Artifact を呼び出して作成された Artifact オブジェクトを渡すこともできます。
name (str、オプション) artifact 名。有効な名前は、次の形式にすることができます。- name:version - name:alias - digest これが指定されていない場合、パスの basename に現在の run ID が付加されたものがデフォルトになります。
type (str) ログに記録する artifact のタイプ (例: datasetmodel)
aliases (list、オプション) この artifact に適用するエイリアス。デフォルトは ["latest"] です。
tags (list、オプション) この artifact に適用するタグ (存在する場合)。
戻り値
Artifact オブジェクト。

log_code

View source

log_code(
    root: (str | None) = ".",
    name: (str | None) = None,
    include_fn: (Callable[[str, str], bool] | Callable[[str], bool]) = _is_py_requirements_or_dockerfile,
    exclude_fn: (Callable[[str, str], bool] | Callable[[str], bool]) = filenames.exclude_wandb_fn
) -> (Artifact | None)

コードの現在の状態を W&B Artifact に保存します。

デフォルトでは、現在のディレクトリーを調べて、.py で終わるすべてのファイルをログに記録します。

Args
root コードを再帰的に検索する相対パス ( os.getcwd() ) または絶対パス。
name (str、オプション) コード artifact の名前。デフォルトでは、artifact に source-$PROJECT_ID-$ENTRYPOINT_RELPATH という名前を付けます。多くの run で同じ artifact を共有したい場合があります。name を指定すると、それを実現できます。
include_fn ファイルパスと (オプションで) ルートパスを受け入れ、含める場合は True、それ以外の場合は False を返す callable。これはデフォルトで次のようになります: lambda path, root: path.endswith(".py")
exclude_fn ファイルパスと (オプションで) ルートパスを受け入れ、除外する場合は True、それ以外の場合は False を返す callable。これはデフォルトで、<root>/.wandb/ および <root>/wandb/ ディレクトリー内のすべてのファイルを除外する関数です。

例:

基本的な使用法

run.log_code()

高度な使用法

run.log_code(
    "../",
    include_fn=lambda path: path.endswith(".py") or path.endswith(".ipynb"),
    exclude_fn=lambda path, root: os.path.relpath(path, root).startswith(
        "cache/"
    ),
)
戻り値
コードがログに記録された場合は Artifact オブジェクト

log_model

View source

log_model(
    path: StrPath,
    name: (str | None) = None,
    aliases: (list[str] | None) = None
) -> None

‘path’ 内のコンテンツを含むモデル artifact を run にログに記録し、この run の出力としてマークします。

Args
path (str) このモデルのコンテンツへのパス。次の形式にすることができます。- /local/directory - /local/directory/file.txt - s3://bucket/path
name (str、オプション) ファイルコンテンツが追加されるモデル artifact に割り当てる名前。文字列には、次の英数字、ダッシュ、アンダースコア、ドットのみを含める必要があります。指定されていない場合、パスの basename に現在の run ID が付加されたものがデフォルトになります。
aliases (list、オプション) 作成されたモデル artifact に適用するエイリアス。デフォルトは ["latest"] です。

例:

run.log_model(
    path="/local/directory",
    name="my_model_artifact",
    aliases=["production"],
)

無効な使用法

run.log_model(
    path="/local/directory",
    name="my_entity/my_project/my_model_artifact",
    aliases=["production"],
)
Raises
ValueError name に無効な特殊文字がある場合
戻り値
なし

mark_preempting

View source

mark_preempting() -> None

この run をプリエンプトとしてマークします。

また、内部プロセスにこれをすぐにサーバーに報告するように指示します。

project_name

View source

project_name() -> str

restore

View source

restore(
    name: str,
    run_path: (str | None) = None,
    replace: bool = (False),
    root: (str | None) = None
) -> (None | TextIO)

クラウドストレージから指定されたファイルをダウンロードします。

ファイルは、現在のディレクトリーまたは run ディレクトリーに配置されます。 デフォルトでは、ファイルがまだ存在しない場合にのみダウンロードされます。

Args
name ファイルの名前
run_path ファイルをプルする run へのオプションのパス。つまり、wandb.init が呼び出されていない場合は username/project_name/run_id が必要です。
replace ファイルがローカルに既に存在する場合でも、ファイルをダウンロードするかどうか
root ファイルをダウンロードするディレクトリー。デフォルトは、現在のディレクトリー、または wandb.init が呼び出された場合は run ディレクトリーです。
戻り値
ファイルが見つからない場合は None。それ以外の場合は、読み取り用に開いているファイルオブジェクト
Raises
wandb.CommError wandb バックエンドに接続できない場合
ValueError ファイルが見つからない場合、または run_path が見つからない場合

save

View source

save(
    glob_str: (str | os.PathLike | None) = None,
    base_path: (str | os.PathLike | None) = None,
    policy: PolicyName = "live"
) -> (bool | list[str])

1 つまたは複数のファイルを W&B に同期します。

相対パスは、現在の作業ディレクトリーに対する相対パスです。

“myfiles/*” などの Unix glob は、policy に関係なく、save が 呼び出されたときに展開されます。特に、新しいファイルは 自動的に選択されません。

base_path を指定して、アップロードされたファイルのディレクトリー構造を 制御できます。これは glob_str のプレフィックスである必要があり、その下のディレクトリー 構造が保持されます。これは、例を通して理解するのが最適です。

wandb.save("these/are/myfiles/*")
# => Saves files in a "these/are/myfiles/" folder in the run.
# => run の "these/are/myfiles/" フォルダーにファイルを保存します。

wandb.save("these/are/myfiles/*", base_path="these")
# => Saves files in an "are/myfiles/" folder in the run.
# => run の "are/myfiles/" フォルダーにファイルを保存します。

wandb.save("/User/username/Documents/run123/*.txt")
# => Saves files in a "run123/" folder in the run. See note below.
# => run の "run123/" フォルダーにファイルを保存します。以下のメモを参照してください。

wandb.save("/User/username/Documents/run123/*.txt", base_path="/User")
# => Saves files in a "username/Documents/run123/" folder in the run.
# => run の "username/Documents/run123/" フォルダーにファイルを保存します。

wandb.save("files/*/saveme.txt")
# => Saves each "saveme.txt" file in an appropriate subdirectory
# => 各 "saveme.txt" ファイルを適切なサブディレクトリーに保存します
#    of "files/".
#    "files/" の。

注: 絶対パスまたは glob が指定され、base_path が指定されていない場合、上記の例のように、1 つのディレクトリーレベルが保持されます。

Args
glob_str 相対パスまたは絶対パス、あるいは Unix glob。
base_path ディレクトリー構造を推測するために使用するパス。例を参照してください。
policy livenow、または end のいずれか。* live: ファイルが変更されると、ファイルをアップロードし、以前のバージョンを上書きします * now: ファイルを今すぐ 1 回アップロードします * end: run が終了したときにファイルをアップロードします
戻り値
一致したファイルに対して作成されたシンボリックリンクへのパス。履歴上の理由から、これはレガシーコードでブール値を返す場合があります。

status

View source

status() -> RunStatus

現在の run の同期ステータスに関する、内部バックエンドからの同期情報を取得します。

to_html

View source

to_html(
    height: int = 420,
    hidden: bool = (False)
) -> str

現在の run を表示する iframe を含む HTML を生成します。

unwatch

View source

unwatch(
    models: (torch.nn.Module | Sequence[torch.nn.Module] | None) = None
) -> None

pytorch モデルのトポロジ、勾配、およびパラメータフックを削除します。

Args
models (torch.nn.Module Sequence[torch.nn.Module]): ウォッチが呼び出された pytorch モデルのオプションのリスト

upsert_artifact

View source

upsert_artifact(
    artifact_or_path: (Artifact | str),
    name: (str | None) = None,
    type: (str | None) = None,
    aliases: (list[str] | None) = None,
    distributed_id: (str | None) = None
) -> Artifact

run の出力として、非 final な artifact を宣言します (または追加します)。

artifact を final にするには、run.finish_artifact() を呼び出す必要があることに注意してください。 これは、分散ジョブがすべて同じ artifact に貢献する必要がある場合に役立ちます。

Args
artifact_or_path (str または Artifact) この artifact のコンテンツへのパス。次の形式にすることができます。- /local/directory - /local/directory/file.txt - s3://bucket/path wandb.Artifact を呼び出して作成された Artifact オブジェクトを渡すこともできます。
name (str、オプション) artifact 名。エンティティー/プロジェクトでプレフィックスを付けることができます。有効な名前は、次の形式にすることができます。- name:version - name:alias - digest これが指定されていない場合、パスの basename に現在の run ID が付加されたものがデフォルトになります。
type (str) ログに記録する artifact のタイプ (例: datasetmodel)
aliases (list、オプション) この artifact に適用するエイリアス。デフォルトは ["latest"] です。
distributed_id (string、オプション) すべての分散ジョブが共有する一意の文字列。None の場合、run のグループ名がデフォルトになります。
戻り値
Artifact オブジェクト。

use_artifact

View source

use_artifact(
    artifact_or_name: (str | Artifact),
    type: (str | None) = None,
    aliases: (list[str] | None) = None,
    use_as: (str | None) = None
) -> Artifact

artifact を run への入力として宣言します。

返されたオブジェクトで download または file を呼び出して、コンテンツをローカルで取得します。

Args
artifact_or_name (str または Artifact) artifact 名。プロジェクト/またはエンティティー/プロジェクト/でプレフィックスを付けることができます。名前でエンティティーが指定されていない場合、Run または API 設定のエンティティーが使用されます。有効な名前は、次の形式にすることができます。- name:version - name:alias wandb.Artifact を呼び出して作成された Artifact オブジェクトを渡すこともできます。
type (str、オプション) 使用する artifact のタイプ。
aliases (list、オプション) この artifact に適用するエイリアス
use_as (string、オプション) artifact が使用された目的を示すオプションの文字列。UI に表示されます。
戻り値
Artifact オブジェクト。

use_model

View source

use_model(
    name: str
) -> FilePathStr

モデル artifact ’name’ にログに記録されたファイルをダウンロードします。

Args
name (str) モデル artifact 名。’name’ は、既存のログに記録されたモデル artifact の名前と一致する必要があります。エンティティー/プロジェクト/でプレフィックスを付けることができます。有効な名前は、次の形式にすることができます。- model_artifact_name:version - model_artifact_name:alias

例:

run.use_model(
    name="my_model_artifact:latest",
)

run.use_model(
    name="my_project/my_model_artifact:v0",
)

run.use_model(
    name="my_entity/my_project/my_model_artifact:<digest>",
)

無効な使用法

run.use_model(
    name="my_entity/my_project/my_model_artifact",
)
Raises
AssertionError モデル artifact ’name’ が、サブストリング ‘model’ を含まないタイプの場合。
戻り値
path (str) ダウンロードされたモデル artifact ファイルへのパス。

watch

View source

watch(
    models: (torch.nn.Module | Sequence[torch.nn.Module]),
    criterion: (torch.F | None) = None,
    log: (Literal['gradients', 'parameters', 'all'] | None) = "gradients",
    log_freq: int = 1000,
    idx: (int | None) = None,
    log_graph: bool = (False)
) -> None

指定された PyTorch モデルにフックして、勾配とモデルの計算グラフを監視します。

この関数は、トレーニング中にパラメータ、勾配、またはその両方を追跡できます。将来は、任意の 機械学習 モデルをサポートするように拡張する必要があります。

Args
models (Union[torch.nn.Module, Sequence[torch.nn.Module]]): 監視する単一のモデルまたはモデルのシーケンス。criterion (Optional[torch.F]): 最適化される損失関数 (オプション)。log (Optional[Literal[“gradients”, “parameters”, “all”]]): “gradients”、“parameters”、または “all” のいずれをログに記録するかを指定します。ログ記録を無効にするには None に設定します。(デフォルト=“gradients”) log_freq (int): 勾配とパラメータをログに記録する頻度 (バッチ単位)。(デフォルト=1000) idx (Optional[int]): wandb.watch で複数のモデルを追跡する場合に使用されるインデックス。(デフォルト=None) log_graph (bool): モデルの計算グラフをログに記録するかどうか。(デフォルト=False)
Raises
ValueError wandb.init が呼び出されていない場合、またはモデルのいずれかが torch.nn.Module のインスタンスでない場合。

__enter__

View source

__enter__() -> Run

__exit__

View source

__exit__(
    exc_type: type[BaseException],
    exc_val: BaseException,
    exc_tb: TracebackType
) -> bool

13 - save

1つまたは複数のファイルを W&B に同期します。

save(
    glob_str: (str | os.PathLike | None) = None,
    base_path: (str | os.PathLike | None) = None,
    policy: PolicyName = "live"
) -> (bool | list[str])

相対パスは、現在の作業ディレクトリーからの相対パスです。

“myfiles/*” などの Unix glob は、policy に関係なく、save が呼び出された時点で展開されます。特に、新しいファイルは自動的に取得されません。

base_path を指定して、アップロードされたファイルのディレクトリー構造を制御できます。これは glob_str のプレフィックスである必要があり、その下のディレクトリー構造が保持されます。これは、以下の例で理解するのが最適です。

wandb.save("these/are/myfiles/*")
# => run の "these/are/myfiles/" フォルダーにファイルを保存します。

wandb.save("these/are/myfiles/*", base_path="these")
# => run の "are/myfiles/" フォルダーにファイルを保存します。

wandb.save("/User/username/Documents/run123/*.txt")
# => run の "run123/" フォルダーにファイルを保存します。下記の注記を参照してください。

wandb.save("/User/username/Documents/run123/*.txt", base_path="/User")
# => run の "username/Documents/run123/" フォルダーにファイルを保存します。

wandb.save("files/*/saveme.txt")
# => 各 "saveme.txt" ファイルを "files/" の適切なサブディレクトリーに保存します。

注: 絶対パスまたは glob が指定され、base_path が指定されていない場合、上記の例のように 1 つのディレクトリー・レベルが保持されます。

Args
glob_str 相対パスまたは絶対パス、あるいは Unix glob。
base_path ディレクトリー構造を推測するために使用するパス。例を参照してください。
policy livenow、または end のいずれか。 * live: ファイルが変更されるとアップロードし、以前のバージョンを上書きします * now: ファイルを今すぐ 1 回アップロードします * end: run の終了時にファイルをアップロードします
戻り値
マッチしたファイルに対して作成されたシンボリック・リンクへのパス。歴史的な理由から、レガシー・コードではブール値を返すことがあります。

14 - sweep

ハイパーパラメーター sweep を初期化します。

sweep(
    sweep: Union[dict, Callable],
    entity: Optional[str] = None,
    project: Optional[str] = None,
    prior_runs: Optional[List[str]] = None
) -> str

さまざまな組み合わせをテストすることにより、機械学習モデルのコスト関数を最適化するハイパーパラメーターを検索します。

返される一意の識別子 sweep_id に注意してください。後のステップで、sweep_id を sweep agent に提供します。

Args
sweep ハイパーパラメーター探索の設定。(または設定ジェネレーター)。sweep の定義方法については、Sweep configuration structure を参照してください。callable を指定する場合は、callable が引数を受け取らず、W&B sweep config 仕様に準拠する辞書を返すようにしてください。
entity sweep によって作成された W&B の run を送信する ユーザー名または Team 名。指定する Entity がすでに存在することを確認してください。Entity を指定しない場合、run はデフォルトの Entity(通常はユーザー名)に送信されます。
project sweep から作成された W&B の run の送信先となる Project の名前。Project が指定されていない場合、run は「未分類」というラベルの Project に送信されます。
prior_runs この sweep に追加する既存の run の run ID。
Returns
sweep_id str. sweep の一意の識別子。

15 - wandb_workspaces

クラス

class reports: W&B Reports API をプログラムで操作するための Python ライブラリ。

class workspaces: W&B Workspace API をプログラムで操作するための Python ライブラリ。

15.1 - Reports

module wandb_workspaces.reports.v2

W&B Reports APIをプログラムで使用するためのPython ライブラリ。

import wandb_workspaces.reports.v2 as wr

report = wr.Report(
     entity="entity",
     project="project",
     title="An amazing title",
     description="A descriptive description.",
)

blocks = [
     wr.PanelGrid(
         panels=[
             wr.LinePlot(x="time", y="velocity"),
             wr.ScatterPlot(x="time", y="acceleration"),
         ]
     )
]

report.blocks = blocks
report.save()

class BarPlot

2D棒グラフを表示する パネル オブジェクト。

Attributes:

  • title (Optional[str]): プロット上部に表示されるテキスト。
  • metrics (LList[MetricType]): orientation Literal[“v”, “h”]: 棒グラフの向き。縦 (“v”) または横 (“h”) に設定します。デフォルトは横 (“h”) です。
  • range_x (Tuple[float | None, float | None]): x軸の範囲を指定するタプル。
  • title_x (Optional[str]): x軸のラベル。
  • title_y (Optional[str]): y軸のラベル。
  • groupby (Optional[str]): レポートが情報を取得するW&B プロジェクトに 記録されたメトリクスに基づいて run をグループ化します。
  • groupby_aggfunc (Optional[GroupAgg]): 指定された関数で run を集計します。オプションには、meanminmaxmediansumsamples、または None があります。
  • groupby_rangefunc (Optional[GroupArea]): 範囲に基づいて run をグループ化します。オプションには、minmaxstddevstderrnone、=samples、または None があります。
  • max_runs_to_show (Optional[int]): プロットに表示する run の最大数。
  • max_bars_to_show (Optional[int]): 棒グラフに表示するバーの最大数。
  • custom_expressions (Optional[LList[str]]): 棒グラフで使用するカスタム式 のリスト。
  • legend_template (Optional[str]): 凡例のテンプレート。
  • font_size ( Optional[FontSize]): 折れ線グラフのフォントのサイズ。オプションには、smallmediumlargeauto、または None があります。
  • line_titles (Optional[dict]): 線のタイトル。キーは線の名前、値はタイトルです。
  • line_colors (Optional[dict]): 線の色。キーは線の名前、値は色です。

class BlockQuote

引用テキストのブロック。

Attributes:

  • text (str): 引用ブロックのテキスト。

class CalloutBlock

注意書きテキストのブロック。

Attributes:

  • text (str): 注意書きのテキスト。

class CheckedList

チェックボックス付きのアイテムのリスト。CheckedList 内に1つまたは複数の CheckedListItem を追加します。

Attributes:

  • items (LList[CheckedListItem]): 1つまたは複数の CheckedListItem オブジェクトのリスト。

class CheckedListItem

チェックボックス付きのリストアイテム。CheckedList 内に1つまたは複数の CheckedListItem を追加します。

Attributes:

  • text (str): リストアイテムのテキスト。
  • checked (bool): チェックボックスがオンになっているかどうか。デフォルトでは False に設定されています。

class CodeBlock

コードのブロック。

Attributes:

  • code (str): ブロック内のコード。
  • language (Optional[Language]): コードの言語。指定された言語は、構文の強調表示に使用されます。デフォルトでは python に設定されています。オプションには、javascriptpythoncssjsonhtmlmarkdownyaml があります。

class CodeComparer

2つの異なる run 間でコードを比較する パネル オブジェクト。

Attributes:

  • diff (Literal['split', 'unified']): コードの差分をどのように表示するか。オプションには splitunified があります。

class Config

run の config オブジェクトに記録されたメトリクス。Config オブジェクトは通常、run.config[name] = ... を使用するか、キーと値のペアの辞書として config を渡すことによって記録されます。キーはメトリクスの名前、値はそのメトリクスの値です。

Attributes:

  • name (str): メトリクスの名前。

class CustomChart

カスタム チャートを表示する パネル。チャートは Weave クエリによって定義されます。

Attributes:

  • query (dict): カスタム チャートを定義するクエリ。キーはフィールドの名前、値はクエリです。
  • chart_name (str): カスタム チャートのタイトル。
  • chart_fields (dict): プロットの軸を定義するキーと値のペア。キーはラベル、値はメトリクスです。
  • chart_strings (dict): チャート内の文字列を定義するキーと値のペア。

classmethod from_table

from_table(
    table_name: str,
    chart_fields: dict = None,
    chart_strings: dict = None
)

テーブルからカスタム チャートを作成します。

Arguments:

  • table_name (str): テーブルの名前。
  • chart_fields (dict): チャートに表示するフィールド。
  • chart_strings (dict): チャートに表示する文字列。

ReportsとURLのギャラリーをレンダリングするブロック。

Attributes:

  • items (List[Union[GalleryReport, GalleryURL]]): GalleryReport および GalleryURL オブジェクトのリスト。

class GalleryReport

ギャラリー内の report への参照。

Attributes:

  • report_id (str): report のID。

class GalleryURL

外部リソースへのURL。

Attributes:

  • url (str): リソースのURL。
  • title (Optional[str]): リソースのタイトル。
  • description (Optional[str]): リソースの説明。
  • image_url (Optional[str]): 表示する画像のURL。

class GradientPoint

勾配内の点。

Attributes:

  • color: 点の色。
  • offset: 勾配内の点の位置。値は0から100の間である必要があります。

class H1

指定されたテキストを持つH1見出し。

Attributes:

  • text (str): 見出しのテキスト。
  • collapsed_blocks (Optional[LList[“BlockTypes”]]): 見出しが折りたたまれたときに表示するブロック。

class H2

指定されたテキストを持つH2見出し。

Attributes:

  • text (str): 見出しのテキスト。
  • collapsed_blocks (Optional[LList[“BlockTypes”]]): 見出しが折りたたまれたときに表示する1つまたは複数のブロック。

class H3

指定されたテキストを持つH3見出し。

Attributes:

  • text (str): 見出しのテキスト。
  • collapsed_blocks (Optional[LList[“BlockTypes”]]): 見出しが折りたたまれたときに表示する1つまたは複数のブロック。

class Heading


class HorizontalRule

HTML水平線。


class Image

画像を表示するブロック。

Attributes:

  • url (str): 画像のURL。
  • caption (str): 画像のキャプション。キャプションは画像の下に表示されます。

class InlineCode

インラインコード。コードの後に改行文字を追加しません。

Attributes:

  • text (str): reportに表示するコード。

class InlineLatex

インラインLaTeXマークダウン。LaTeXマークダウンの後に改行文字を追加しません。

Attributes:

  • text (str): reportに表示するLaTeXマークダウン。

class LatexBlock

LaTeXテキストのブロック。

Attributes:

  • text (str): LaTeXテキスト。

class Layout

report内のパネルのレイアウト。パネルのサイズと位置を調整します。

Attributes:

  • x (int): パネルのx位置。
  • y (int): パネルのy位置。
  • w (int): パネルの幅。
  • h (int): パネルの高さ。

class LinePlot

2D折れ線グラフを持つ パネル オブジェクト。

Attributes:

  • title (Optional[str]): プロット上部に表示されるテキスト。
  • x (Optional[MetricType]): レポートが情報を取得するW&B プロジェクトに記録されたメトリクスの名前。指定されたメトリクスはx軸に使用されます。
  • y (LList[MetricType]): レポートが情報を取得するW&B プロジェクトに記録された1つまたは複数のメトリクス。指定されたメトリクスはy軸に使用されます。
  • range_x (Tuple[float | None, float | None]): x軸の範囲を指定するタプル。
  • range_y (Tuple[float | None, float | None]): y軸の範囲を指定するタプル。
  • log_x (Optional[bool]): x座標を底10の対数スケールを使用してプロットします。
  • log_y (Optional[bool]): y座標を底10の対数スケールを使用してプロットします。
  • title_x (Optional[str]): x軸のラベル。
  • title_y (Optional[str]): y軸のラベル。
  • ignore_outliers (Optional[bool]): True に設定すると、外れ値をプロットしません。
  • groupby (Optional[str]): レポートが情報を取得するW&B プロジェクトに 記録されたメトリクスに基づいて run をグループ化します。
  • groupby_aggfunc (Optional[GroupAgg]): 指定された関数で run を集計します。オプションには、meanminmaxmediansumsamples、または None があります。
  • groupby_rangefunc (Optional[GroupArea]): 範囲に基づいて run をグループ化します。オプションには、minmaxstddevstderrnonesamples、または None があります。
  • smoothing_factor (Optional[float]): スムージングタイプに適用するスムージング係数。許容値の範囲は0〜1です。
  • smoothing_type Optional[SmoothingType]: 指定された分布に基づいてフィルターを適用します。オプションには、exponentialTimeWeightedexponentialgaussianaverage、または none があります。
  • smoothing_show_original (Optional[bool]): True に設定すると、元のデータを表示します。
  • max_runs_to_show (Optional[int]): 折れ線グラフに表示する run の最大数。
  • custom_expressions (Optional[LList[str]]): データに適用するカスタム式。
  • plot_type Optional[LinePlotStyle]: 生成する折れ線グラフのタイプ。オプションには、linestacked-area、または pct-area があります。
  • font_size Optional[FontSize]: 折れ線グラフのフォントのサイズ。オプションには、smallmediumlargeauto、または None があります。
  • legend_position Optional[LegendPosition]: 凡例を配置する場所。オプションには、northsoutheastwest、または None があります。
  • legend_template (Optional[str]): 凡例のテンプレート。
  • aggregate (Optional[bool]): True に設定すると、データを集計します。
  • xaxis_expression (Optional[str]): x軸の式。
  • legend_fields (Optional[LList[str]]): 凡例に含めるフィールド。

URLへのリンク。

Attributes:

  • text (Union[str, TextWithInlineComments]): リンクのテキスト。
  • url (str): リンクが指すURL。

class MarkdownBlock

マークダウンテキストのブロック。一般的なマークダウン構文を使用するテキストを書きたい場合に便利です。

Attributes:

  • text (str): マークダウンテキスト。

class MarkdownPanel

マークダウンをレンダリングする パネル。

Attributes:

  • markdown (str): マークダウン パネルに表示するテキスト。

class MediaBrowser

メディアファイルをグリッドレイアウトで表示する パネル。

Attributes:

  • num_columns (Optional[int]): グリッド内の列数。
  • media_keys (LList[str]): メディアファイルに対応するメディアキーのリスト。

class Metric

プロジェクトに記録された report に表示するメトリクス。

Attributes:

  • name (str): メトリクスの名前。

class OrderBy

並べ替えの基準となるメトリクス。

Attributes:

  • name (str): メトリクスの名前。
  • ascending (bool): 昇順でソートするかどうか。デフォルトでは False に設定されています。

class OrderedList

番号付きリストのアイテムのリスト。

Attributes:

  • items (LList[str]): 1つまたは複数の OrderedListItem オブジェクトのリスト。

class OrderedListItem

順序付きリストのリストアイテム。

Attributes:

  • text (str): リストアイテムのテキスト。

class P

テキストの段落。

Attributes:

  • text (str): 段落のテキスト。

class Panel

パネルグリッドに可視化を表示する パネル。

Attributes:

  • layout (Layout): Layout オブジェクト。

class PanelGrid

runset と パネル で構成されるグリッド。Runset オブジェクトと Panel オブジェクトをそれぞれ使用して、runset と パネル を追加します。

利用可能な パネル には、LinePlotScatterPlotBarPlotScalarChartCodeComparerParallelCoordinatesPlotParameterImportancePlotRunComparerMediaBrowserMarkdownPanelCustomChartWeavePanelWeavePanelSummaryTableWeavePanelArtifactVersionedFile があります。

Attributes:

  • runsets (LList[“Runset”]): 1つまたは複数の Runset オブジェクトのリスト。
  • panels (LList[“PanelTypes”]): 1つまたは複数の Panel オブジェクトのリスト。
  • active_runset (int): runset 内に表示する run の数。デフォルトでは0に設定されています。
  • custom_run_colors (dict): キーが run の名前、値が16進値で指定された色のキーと値のペア。

class ParallelCoordinatesPlot

平行座標プロットを表示する パネル オブジェクト。

Attributes:

  • columns (LList[ParallelCoordinatesPlotColumn]): 1つまたは複数の ParallelCoordinatesPlotColumn オブジェクトのリスト。
  • title (Optional[str]): プロット上部に表示されるテキスト。
  • gradient (Optional[LList[GradientPoint]]): 勾配点のリスト。
  • font_size (Optional[FontSize]): 折れ線グラフのフォントのサイズ。オプションには、smallmediumlargeauto、または None があります。

class ParallelCoordinatesPlotColumn

平行座標プロット内の列。指定された metric の順序によって、平行座標プロットの平行軸(x軸)の順序が決まります。

Attributes:

  • metric (str | Config | SummaryMetric): レポートが情報を取得するW&B プロジェクトに 記録されたメトリクスの名前。
  • display_name (Optional[str]): メトリクスの名前
  • inverted (Optional[bool]): メトリクスを反転するかどうか。
  • log (Optional[bool]): メトリクスにログ変換を適用するかどうか。

class ParameterImportancePlot

選択したメトリクスを予測する上で、各ハイパーパラメータがどれだけ重要かを示す パネル。

Attributes:

  • with_respect_to (str): パラメータの重要度を比較する対象のメトリクス。一般的なメトリクスには、損失、精度などがあります。指定するメトリクスは、レポートが情報を取得するプロジェクト内に記録されている必要があります。

class Report

W&B Reportを表すオブジェクト。返されたオブジェクトの blocks 属性を使用して、 report をカスタマイズします。Reportオブジェクトは自動的に保存されません。変更を永続化するには、save() メソッドを使用します。

Attributes:

  • project (str): ロードするW&B プロジェクトの名前。指定された プロジェクト は、 report のURLに表示されます。
  • entity (str): report を所有するW&B Entity。Entityは report のURLに表示されます。
  • title (str): report のタイトル。タイトルは report の上部にH1見出しとして表示されます。
  • description (str): report の説明。説明は report のタイトルの下に表示されます。
  • blocks (LList[BlockTypes]): 1つまたは複数のHTMLタグ、プロット、グリッド、runsetなどのリスト。
  • width (Literal[‘readable’, ‘fixed’, ‘fluid’]): report の幅。オプションには、‘readable’、‘fixed’、‘fluid’があります。

property url

report がホストされているURL。report のURLは https://wandb.ai/{entity}/{project_name}/reports/ で構成されます。{entity}{project_name} は、 report が属する Entity と プロジェクト の名前で構成されます。


classmethod from_url

from_url(url: str, as_model: bool = False)

report を現在の環境にロードします。report がホストされているURLを渡します。

Arguments:

  • url (str): report がホストされているURL。
  • as_model (bool): Trueの場合、Reportオブジェクトではなく model オブジェクトを返します。デフォルトでは False に設定されています。

method save

save(draft: bool = False, clone: bool = False)

report オブジェクトに加えられた変更を永続化します。


method to_html

to_html(height: int = 1024, hidden: bool = False)  str

この report を表示する iframe を含むHTMLを生成します。Python ノートブック内でよく使用されます。

Arguments:

  • height (int): iframeの高さ。
  • hidden (bool): Trueの場合、iframeを非表示にします。デフォルトは False に設定されています。

class RunComparer

レポートが情報を取得する プロジェクト のさまざまな run にわたってメトリクスを比較する パネル。

Attributes:

  • diff_only (Optional[Literal["split", True]]): プロジェクト 内の run 間の差のみを表示します。この機能は、W&B Report UIでオン/オフを切り替えることができます。

class Runset

パネルグリッドに表示する run のセット。

Attributes:

  • entity (str): run が保存されている プロジェクト を所有しているか、または適切な権限を持っているエンティティ。
  • project (str): run が保存されている プロジェクト の名前。
  • name (str): run set の名前。デフォルトでは Run set に設定されています。
  • query (str): run をフィルタリングするクエリ文字列。
  • filters (Optional[str]): run をフィルタリングするフィルタ文字列。
  • groupby (LList[str]): グループ化するメトリクス名のリスト。
  • order (LList[OrderBy]): 並べ替えを行う OrderBy オブジェクトのリスト。
  • custom_run_colors (LList[OrderBy]): run IDを色にマッピングする辞書。

class RunsetGroup

runset のグループを表示するUI要素。

Attributes:

  • runset_name (str): runset の名前。
  • keys (Tuple[RunsetGroupKey, …]): グループ化するキー。グループ化するには、1つまたは複数の RunsetGroupKey オブジェクトを渡します。

class RunsetGroupKey

メトリクスタイプと値でrunsetをグループ化します。RunsetGroup の一部。グループ化するメトリクスタイプと値をキーと値のペアとして指定します。

Attributes:

  • key (Type[str] | Type[Config] | Type[SummaryMetric] | Type[Metric]): グループ化するメトリクスタイプ。
  • value (str): グループ化するメトリクスの値。

class ScalarChart

スカラーチャートを表示する パネル オブジェクト。

Attributes:

  • title (Optional[str]): プロット上部に表示されるテキスト。
  • metric (MetricType): レポートが情報を取得するW&B プロジェクトに記録されたメトリクスの名前。
  • groupby_aggfunc (Optional[GroupAgg]): 指定された関数で run を集計します。オプションには、meanminmaxmediansumsamples、または None があります。
  • groupby_rangefunc (Optional[GroupArea]): 範囲に基づいて run をグループ化します。オプションには、minmaxstddevstderrnonesamples、または None があります。
  • custom_expressions (Optional[LList[str]]): スカラーチャートで使用するカスタム式のリスト。
  • legend_template (Optional[str]): 凡例のテンプレート。
  • font_size Optional[FontSize]: 折れ線グラフのフォントのサイズ。オプションには、smallmediumlargeauto、または None があります。

class ScatterPlot

2Dまたは3D散布図を表示する パネル オブジェクト。

Arguments:

  • title (Optional[str]): プロット上部に表示されるテキスト。
  • x Optional[SummaryOrConfigOnlyMetric]: レポートが情報を取得するW&B プロジェクトに記録されたメトリクスの名前。指定されたメトリクスはx軸に使用されます。
  • y Optional[SummaryOrConfigOnlyMetric]: レポートが情報を取得するW&B プロジェクトに記録された1つまたは複数のメトリクス。指定されたメトリクスはy軸内にプロットされます。z Optional[SummaryOrConfigOnlyMetric]:
  • range_x (Tuple[float | None, float | None]): x軸の範囲を指定するタプル。
  • range_y (Tuple[float | None, float | None]): y軸の範囲を指定するタプル。
  • range_z (Tuple[float | None, float | None]): z軸の範囲を指定するタプル。
  • log_x (Optional[bool]): x座標を底10の対数スケールを使用してプロットします。
  • log_y (Optional[bool]): y座標を底10の対数スケールを使用してプロットします。
  • log_z (Optional[bool]): z座標を底10の対数スケールを使用してプロットします。
  • running_ymin (Optional[bool]): 移動平均またはローリング平均を適用します。
  • running_ymax (Optional[bool]): 移動平均またはローリング平均を適用します。
  • running_ymean (Optional[bool]): 移動平均またはローリング平均を適用します。
  • legend_template (Optional[str]): 凡例の形式を指定する文字列。
  • gradient (Optional[LList[GradientPoint]]): プロットの色勾配を指定する勾配点のリスト。
  • font_size (Optional[FontSize]): 折れ線グラフのフォントのサイズ。オプションには、smallmediumlargeauto、または None があります。
  • regression (Optional[bool]): Trueの場合、回帰線が散布図にプロットされます。

class SoundCloud

SoundCloudプレーヤーを表示するブロック。

Attributes:

  • html (str): SoundCloudプレーヤーを埋め込むためのHTMLコード。

class Spotify

Spotifyプレーヤーを表示するブロック。

Attributes:

  • spotify_id (str): トラックまたはプレイリストのSpotify ID。

class SummaryMetric

レポートに表示するサマリーメトリクス。

Attributes:

  • name (str): メトリクスの名前。

class TableOfContents

レポートで指定されたH1、H2、およびH3 HTMLブロックを使用して、セクションとサブセクションのリストを含むブロック。


class TextWithInlineComments

インラインコメント付きのテキストのブロック。

Attributes:

  • text (str): ブロックのテキスト。

class Twitter

Twitterフィードを表示するブロック。

Attributes:

  • html (str): Twitterフィードを表示するためのHTMLコード。

class UnorderedList

箇条書きリストのアイテムのリスト。

Attributes:

  • items (LList[str]): 1つまたは複数の UnorderedListItem オブジェクトのリスト。

class UnorderedListItem

順序なしリストのリスト項目。

Attributes:

  • text (str): リストアイテムのテキスト。

class Video

ビデオを表示するブロック。

Attributes:

  • url (str): ビデオのURL。

class WeaveBlockArtifact

W&Bに記録されたアーティファクトを表示するブロック。クエリは次の形式を取ります。

project('entity', 'project').artifact('artifact-name')

API名 “Weave” は、LLMの追跡と評価に使用されるW&B Weaveツールキットを指すものではありません。

Attributes:

  • entity (str): アーティファクトが保存されている プロジェクト を所有しているか、または適切な権限を持っているエンティティ。
  • project (str): アーティファクトが保存されている プロジェクト 。
  • artifact (str): 取得するアーティファクトの名前。
  • tab Literal["overview", "metadata", "usage", "files", "lineage"]: アーティファクト パネルに表示するタブ。

class WeaveBlockArtifactVersionedFile

W&Bアーティファクトに記録されたバージョン管理されたファイルを表示するブロック。クエリは次の形式を取ります。

project('entity', 'project').artifactVersion('name', 'version').file('file-name')

API名 “Weave” は、LLMの追跡と評価に使用されるW&B Weaveツールキットを指すものではありません。

Attributes:

  • entity (str): アーティファクトが保存されている プロジェクト を所有しているか、または適切な権限を持っているエンティティ。
  • project (str): アーティファクトが保存されている プロジェクト 。
  • artifact (str): 取得するアーティファクトの名前。
  • version (str): 取得するアーティファクトのバージョン。
  • file (str): 取得するアーティファクトに保存されているファイルの名前。

class WeaveBlockSummaryTable

W&B Table、pandas DataFrame、プロット、またはW&Bに記録されたその他の値を表示するブロック。クエリは次の形式を取ります。

project('entity', 'project').runs.summary['value']

API名 “Weave” は、LLMの追跡と評価に使用されるW&B Weaveツールキットを指すものではありません。

Attributes:

  • entity (str): 値が記録されている プロジェクト を所有しているか、または適切な権限を持っているエンティティ。
  • project (str): 値が記録されている プロジェクト 。
  • table_name (str): テーブル、DataFrame、プロット、または値の名前。

class WeavePanel

クエリを使用してカスタムコンテンツを表示するために使用できる空のクエリ パネル。

API名 “Weave” は、LLMの追跡と評価に使用されるW&B Weaveツールキットを指すものではありません。


class WeavePanelArtifact

W&Bに記録されたアーティファクトを表示する パネル。

API名 “Weave” は、LLMの追跡と評価に使用されるW&B Weaveツールキットを指すものではありません。

Attributes:

  • artifact (str): 取得するアーティファクトの名前。
  • tab Literal["overview", "metadata", "usage", "files", "lineage"]: アーティファクト パネルに表示するタブ。

class WeavePanelArtifactVersionedFile

W&Bアーティファクトに記録されたバージョン管理されたファイルを表示する パネル。

project('entity', 'project').artifactVersion('name', 'version').file('file-name')

API名 “Weave” は、LLMの追跡と評価に使用されるW&B Weaveツールキットを指すものではありません。

Attributes:

  • artifact (str): 取得するアーティファクトの名前。
  • version (str): 取得するアーティファクトのバージョン。
  • file (str): アーティファクトに保存されているファイルの名前。

class WeavePanelSummaryTable

W&B Table、pandas DataFrame、プロット、またはW&Bに記録されたその他の値を表示する パネル。クエリは次の形式を取ります。

runs.summary['value']

API名 “Weave” は、LLMの追跡と評価に使用されるW&B Weaveツールキットを指すものではありません。

Attributes:

  • table_name (str): テーブル、DataFrame、プロット、または値の名前。

15.2 - Workspaces

module wandb_workspaces.workspaces

W&B Workspace API をプログラムで使用するための Python ライブラリです。

# インポート方法
import wandb_workspaces.workspaces as ws

# ワークスペース作成例
ws.Workspace(
     name="Example W&B Workspace",
     entity="entity", # ワークスペースを所有する entity
     project="project", # ワークスペースが関連付けられている project
     sections=[
         ws.Section(
             name="Validation Metrics",
             panels=[
                 wr.LinePlot(x="Step", y=["val_loss"]),
                 wr.BarPlot(metrics=["val_accuracy"]),
                 wr.ScalarChart(metric="f1_score", groupby_aggfunc="mean"),
             ],
             is_open=True,
         ),
     ],
)
workspace.save()

class RunSettings

runset (左側のバー) 内の run の設定。

属性:

  • color (str): UI での run の色。16 進数 (#ff0000)、CSS カラー (red)、または rgb (rgb(255, 0, 0)) を指定できます。
  • disabled (bool): run が非アクティブ化されているかどうか (UI で目が閉じている状態)。デフォルトは False に設定されています。

class RunsetSettings

ワークスペース内の runset (run を含む左側のバー) の設定。

属性:

  • query (str): runset をフィルタリングするためのクエリ (正規表現も可。次のパラメーターを参照)。
  • regex_query (bool): クエリ (上記) が正規表現であるかどうかを制御します。デフォルトは False に設定されています。
  • filters (LList[expr.FilterExpr]): runset に適用するフィルタのリスト。フィルタは AND で結合されます。フィルタの作成方法の詳細については、FilterExpr を参照してください。
  • groupby (LList[expr.MetricType]): runset でグループ化するメトリクスのリスト。MetricSummaryConfigTags、または KeysInfo に設定します。
  • order (LList[expr.Ordering]): runset に適用するメトリクスと順序のリスト。
  • run_settings (Dict[str, RunSettings]): run 設定の辞書。キーは run の ID で、値は RunSettings オブジェクトです。

class Section

ワークスペース内のセクションを表します。

属性:

  • name (str): セクションの名前/タイトル。
  • panels (LList[PanelTypes]): セクション内のパネルの順序付きリスト。デフォルトでは、最初が左上、最後が右下になります。
  • is_open (bool): セクションが開いているか閉じているか。デフォルトは閉じています。
  • layout_settings (Literal[standard, custom]): セクション内のパネルレイアウトの設定。
  • panel_settings: セクションの WorkspaceSettings と同様に、セクション内のすべてのパネルに適用されるパネルレベルの設定。

class SectionLayoutSettings

セクションのパネルレイアウト設定。通常、W&B App Workspace UI のセクションの右上に見られます。

属性:

  • layout (Literal[standard, custom]): セクション内のパネルのレイアウト。standard はデフォルトのグリッドレイアウトに従い、custom は個々のパネル設定によって制御されるパネルごとのレイアウトを可能にします。
  • columns (int): 標準レイアウトでのレイアウト内の列数。デフォルトは 3 です。
  • rows (int): 標準レイアウトでのレイアウト内の行数。デフォルトは 2 です。

class SectionPanelSettings

セクションのパネル設定。セクションの WorkspaceSettings と同様です。

ここで適用される設定は、次の優先順位で、より詳細なパネル設定によってオーバーライドできます: Section < Panel。

属性:

  • x_axis (str): X 軸のメトリクス名設定。デフォルトでは、Step に設定されています。
  • x_min Optional[float]: X 軸の最小値。
  • x_max Optional[float]: X 軸の最大値。
  • smoothing_type (Literal[’exponentialTimeWeighted’, ’exponential’, ‘gaussian’, ‘average’, ’none’]): すべてのパネルに適用されるスムージングタイプ。
  • smoothing_weight (int): すべてのパネルに適用されるスムージングの重み。

class Workspace

セクション、設定、および run set の構成を含む、W&B ワークスペースを表します。

属性:

  • entity (str): このワークスペースが保存される entity (通常は user または Team 名)。
  • project (str): このワークスペースが保存される project。
  • name: ワークスペースの名前。
  • sections (LList[Section]): ワークスペース内のセクションの順序付きリスト。最初のセクションはワークスペースの上部にあります。
  • settings (WorkspaceSettings): ワークスペースの設定。通常、UI のワークスペースの上部に表示されます。
  • runset_settings (RunsetSettings): ワークスペース内の runset (run を含む左側のバー) の設定。

property url

W&B アプリのワークスペースへの URL。


classmethod from_url

from_url(url: str)

URL からワークスペースを取得します。


method save

save()

現在のワークスペースを W&B に保存します。

戻り値:

  • Workspace: 保存された内部名と ID を持つ、更新されたワークスペース。

method save_as_new_view

save_as_new_view()

現在のワークスペースを新しいビューとして W&B に保存します。

戻り値:

  • Workspace: 保存された内部名と ID を持つ、更新されたワークスペース。

class WorkspaceSettings

ワークスペースの設定。通常、UI のワークスペースの上部に表示されます。

このオブジェクトには、X 軸、スムージング、外れ値、パネル、ツールチップ、run、およびパネルクエリバーの設定が含まれています。

ここで適用される設定は、次の優先順位で、より詳細なセクションおよびパネル設定によってオーバーライドできます: Workspace < Section < Panel

属性:

  • x_axis (str): X 軸のメトリクス名設定。
  • x_min (Optional[float]): X 軸の最小値。
  • x_max (Optional[float]): X 軸の最大値。
  • smoothing_type (Literal['exponentialTimeWeighted', 'exponential', 'gaussian', 'average', 'none']): すべてのパネルに適用されるスムージングタイプ。
  • smoothing_weight (int): すべてのパネルに適用されるスムージングの重み。
  • ignore_outliers (bool): すべてのパネルで外れ値を無視します。
  • sort_panels_alphabetically (bool): すべてのセクションでパネルをアルファベット順にソートします。
  • group_by_prefix (Literal[first, last]): パネルを最初のプレフィックスまたは最後のプレフィックス (最初または最後) でグループ化します。デフォルトは last に設定されています。
  • remove_legends_from_panels (bool): すべてのパネルから凡例を削除します。
  • tooltip_number_of_runs (Literal[default, all, none]): ツールチップに表示する run の数。
  • tooltip_color_run_names (bool): ツールチップで run 名を runset に一致するように色分けするかどうか (True) しないか (False)。デフォルトは True に設定されています。
  • max_runs (int): パネルごとに表示する run の最大数 (これは runset の最初の 10 個の run になります)。
  • point_visualization_method (Literal[line, point, line_point]): ポイントの可視化 method。
  • panel_search_query (str): パネル検索バーのクエリ (正規表現も可)。
  • auto_expand_panel_search_results (bool): パネル検索 result を自動的に展開するかどうか。

16 - watch

指定されたPyTorch model (s) に フック して、勾配とモデルの計算グラフを監視します。

watch(
    models: (torch.nn.Module | Sequence[torch.nn.Module]),
    criterion: (torch.F | None) = None,
    log: (Literal['gradients', 'parameters', 'all'] | None) = "gradients",
    log_freq: int = 1000,
    idx: (int | None) = None,
    log_graph: bool = (False)
) -> None

この関数は、トレーニング中に パラメータ 、 勾配 、またはその両方を追跡できます。将来的には、任意の 機械学習 モデルをサポートするように拡張する必要があります。

Args
models (Union[torch.nn.Module, Sequence[torch.nn.Module]]): 監視対象の単一のモデルまたはモデルのシーケンス。 criterion (Optional[torch.F]): 最適化される損失関数 (オプション)。 log (Optional[Literal[“gradients”, “parameters”, “all”]]): 「勾配」、「 パラメータ 」、または「すべて」を ログ に記録するかどうかを指定します。 ログ を無効にするには、None に設定します (デフォルト=“gradients”)。 log_freq (int): 勾配と パラメータ を ログ に記録する頻度 (バッチ単位) (デフォルト=1000)。 idx (Optional[int]): wandb.watch で複数のモデルを追跡する場合に使用されるインデックス (デフォルト=None)。 log_graph (bool): モデルの計算グラフを ログ に記録するかどうか (デフォルト=False)。
Raises
ValueError wandb.init が呼び出されていない場合、またはモデルのいずれかが torch.nn.Module のインスタンスでない場合。