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 を 整理 および 区別 します。文字、数字、アンダースコア、ハイフン、ドット を 含む 任意 の 文字列 を 使用 できます。一般的 な タイプ には、dataset や model があります。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 固有 の パラメータ。一般 的 な 使用 には お勧め しません。 |
属性 |
|
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 の タイプ。一般的 な タイプ には、dataset や model があります。 |
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-Length
と ETag
レスポンス ヘッダー によって 推測 されます。
- 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
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 関連 の 名前 に 解決 する ローカル パス。 |
get_entry
View source
get_entry(
name: StrPath
) -> ArtifactManifestEntry
指定 された 名前 の エントリー を 取得 します。
arg |
|
name |
取得 する Artifact 関連 の 名前 |
例外 |
|
ArtifactNotLoggedError |
Artifact が ログ に 記録 されていない か、run が オフライン の 場合。 |
KeyError |
Artifact に 指定 された 名前 の エントリー が 含まれていない 場合。 |
get_path
View source
get_path(
name: StrPath
) -> ArtifactManifestEntry
非推奨。get_entry(name)
を 使用 して ください。
is_draft
View source
Artifact が 保存 されていない か どうか を 確認 します。
戻り値 : ブール値。Artifact が 保存 されている 場合 は False
。Artifact が 保存 されていない 場合 は True
。
json_encode
View source
json_encode() -> dict[str, Any]
Artifact を JSON 形式 に エンコード して 返します。
戻り値 |
|
Artifact の 属性 を 表す string キー を 持つ dict 。 |
|
link
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
この コミット された 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 オブジェクト。最も 一般 的 に テスト ハーネス で 使用 されます。 |
unlink
View source
この Artifact が 現在 ポートフォリオ (Artifact の 昇格 された コレクション) の メンバー で ある 場合 は、リンク を 解除 します。
例外 |
|
ArtifactNotLoggedError |
Artifact が ログ に 記録 されていない 場合。 |
ValueError |
Artifact が リンクされていない 場合、つまり ポートフォリオ コレクション の メンバー でない 場合。 |
used_by
View source
この Artifact を 使用 した 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 |
待機 する 時間 (秒単位)。 |
__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
ソースを表示
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 クラス。
このクラスは通常、ニューラルネットのモデルを保存および表示するために使用されます。これは、ノードとエッジの配列としてグラフを表します。ノードは 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
__getitem__
View source
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
ソースを表示
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
Note : torch.Tensor
を wandb.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})
メソッド
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_path が TextIO ストリームの場合に必要です。このパラメータは、ファイルパスが指定されている場合は無視されます。タイプはファイル拡張子から取得されます。 |
|
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 |
メソッド
ソースを表示
@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
のほとんどのサブクラスなど、多数の種類のデータをサポートしています。
これは、Images
、Video
、Audio
、およびその他の種類の豊富なアノテーション付きメディアを、他の従来のスカラー値とともに 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_ndx が True に設定されている場合にのみ含まれます。row は、既存の列でキーが設定された辞書です。 |
add_data
View source
テーブルにデータの新しい行を追加します。テーブル内の最大行数は、wandb.Table.MAX_ARTIFACT_ROWS
によって決定されます。
データの長さは、テーブル列の長さと一致する必要があります。
add_row
View source
非推奨。代わりに 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
テーブルの pandas.DataFrame
を返します。
get_index
View source
他のテーブルでリンクを作成するために使用する行インデックスの配列を返します。
index_ref
View source
テーブル内の行のインデックスの参照を取得します。
iterrows
View source
行ごとのテーブルデータを返し、行のインデックスと関連データを表示します。
index : int
行のインデックス。この値を他の W&B テーブルで使用すると、テーブル間の関係が自動的に構築されます
row : List[any]
行のデータ。
set_fk
View source
set_fk(
col_name, table, table_col
)
set_pk
View source
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
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 を設定できます。また、entity 、project 、および run のデフォルト値を設定することもできます。 |
メソッド
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 の型。 |
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。 |
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 の管理者ユーザーのオプションのユーザー名。デフォルトは現在のユーザーです。 |
create_user
View source
create_user(
email, admin=(False)
)
新しい user を作成します。
Args |
|
email |
(str) ユーザーのメール アドレス |
admin |
(bool) このユーザーをグローバル インスタンス管理者にするかどうか |
flush
View source
ローカル キャッシュをフラッシュします。
api オブジェクトは run のローカル キャッシュを保持するため、スクリプトの実行中に run の状態が変化する可能性がある場合は、api.flush()
でローカル キャッシュをクリアして、run に関連付けられている最新の値を取得する必要があります。
from_path
View source
パスから 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 |
|
Project 、Run 、Sweep 、または BetaReport インスタンス。 |
|
Raises |
|
パスが無効であるか、オブジェクトが存在しない場合は wandb.Error |
|
job
View source
job(
name: Optional[str],
path: Optional[str] = None
) -> "public.Job"
指定されたパラメータから Job
を返します。
Args |
|
name |
(str) ジョブ名。 |
path |
(str, オプション) 指定された場合、ジョブ artifact をダウンロードするルート パス。 |
list_jobs
View source
list_jobs(
entity: str,
project: str
) -> List[Dict[str, Any]]
指定された entity および project のジョブ (存在する場合) のリストを返します。
Args |
|
entity |
(str) リストされたジョブの entity。 |
project |
(str) リストされたジョブの project。 |
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 が発生します。 |
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 でフィルタリングに使用できるフィールドは、name 、description 、created_at 、updated_at です。collection でフィルタリングに使用できるフィールドは、name 、tag 、description 、created_at 、updated_at です。バージョンでフィルタリングに使用できるフィールドは、tag 、alias 、created_at 、updated_at 、metadata です |
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
entity/project/run_id の形式でパスを解析して、単一の run を返します。
Args |
|
path |
(str) entity/project/run_id の形式の run へのパス。api.entity が設定されている場合は、project/run_id の形式にすることができ、api.project が設定されている場合は、run_id のみにすることができます。 |
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_name
、summary_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_at 、heartbeat_at 、config.*.value 、または summary_metrics.* にすることができます。順序の前に + を付けると、順序は昇順になります。順序の前に - を付けると、順序は降順になります (デフォルト)。デフォルトの順序は、run.created_at が最も古いものから最も新しいものになります。 |
per_page |
(int) クエリ ページネーションのページ サイズを設定します。 |
include_sweeps |
(bool) 結果に sweep runs を含めるかどうか。 |
Returns |
|
Run オブジェクトの反復可能な collection である Runs オブジェクト。 |
|
sweep
View source
entity/project/sweep_id
の形式でパスを解析して sweep を返します。
Args |
|
path |
(str, optional) entity/project/sweep_id の形式の sweep へのパス。api.entity が設定されている場合は、project/sweep_id の形式にすることができ、api.project が設定されている場合は、sweep_id のみにすることができます。 |
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 の名前。 |
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) 検索するユーザーのプレフィックスまたはサフィックス |
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
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
to_html
View source
to_html(
*args, **kwargs
)
6.3 - Files
File
オブジェクト のイテラブルなコレクション。
Files(
client, run, names=None, per_page=50, upload=(False)
)
メソッド
convert_objects
ソースを表示
next
ソースを表示
update_variables
ソースを表示
__getitem__
ソースを表示
__iter__
ソースを表示
__len__
ソースを表示
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
sweeps
View source
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
ソースを表示
next
ソースを表示
update_variables
ソースを表示
__getitem__
ソースを表示
__iter__
ソースを表示
__len__
ソースを表示
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
)
メソッド
delete
View source
delete(
delete_artifacts=(False)
)
指定されたキューに登録された run を wandb バックエンドから削除します。
wait_until_finished
View source
wait_until_running
View source
6.8 - Run
ある entity と project に関連付けられた単一の run。
Run(
client: "RetryingClient",
entity: str,
project: str,
run_id: str,
attrs: Optional[Mapping] = None,
include_sweeps: bool = (True)
)
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
アーティファクト内の指定された名前のファイルのパスを返します。
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
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) このアーティファクトに適用するタグ (存在する場合)。 |
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
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
to_html
View source
to_html(
height=420, hidden=(False)
)
この run を表示する iframe を含む HTML を生成します。
update
View source
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 で使用されるアーティファクトを簡単に区別するために使用されます。 |
|
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
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
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
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
update_variables
View source
__getitem__
View source
__iter__
View source
__len__
View source
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
ソースを表示
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
ソースを表示
to_html
ソースを表示
to_html(
height=420, hidden=(False)
)
この sweep を表示する iframe を含む HTML を生成します。
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_from と resume_from は使用できません。resume が設定されていない場合、システムは常に新しい run を開始します。詳細については、run の再開に関するガイド を参照してください。 |
resume_from |
形式 {run_id}?_step={step} を使用して、以前の run の特定の時点から run を再開することを指定します。これにより、ユーザー は run に ログ された履歴を途中のステップで切り捨て、そのステップから ログ 記録を再開できます。ターゲット run は、同じ project 内にある必要があります。id 引数も指定されている場合、resume_from 引数が優先されます。resume 、resume_from 、および fork_from は一緒に使用できず、一度に 1 つだけ使用できます。注:この機能はベータ版であり、将来変更される可能性があります。 |
fork_from |
形式 {id}?_step={step} を使用して、以前の run の特定の時点から新しい run をフォークすることを指定します。これにより、ターゲット run の履歴の指定されたステップから ログ 記録を再開する新しい run が作成されます。ターゲット run は、現在の project の一部である必要があります。id 引数も指定されている場合、fork_from 引数とは異なる必要があります。同じ場合は、エラーが発生します。resume 、resume_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
モジュール: wandb
を Keras
と統合するためのツール。
8.1 - keras
wandb
を Keras
と統合するためのツール。
クラス
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_gradients が True の場合は必須です。 |
validation_data |
(tuple) model.fit に渡されるのと同じ形式 (X,y) 。wandb が 可視化 するための データの セット。これが設定されている場合、すべての エポック で、wandb は少数の 予測 を行い、後で 可視化 するために 結果 を保存します。画像データを扱っている場合は、正しく ログ するために input_type と output_type も設定してください。 |
generator |
(generator) wandb が 可視化 するための 検証データ を返す generator。この generator は、タプル (X,y) を返す必要があります。wandb が特定の データ 例を 可視化 するには、validate_data または generator のいずれかを設定する必要があります。画像データを扱っている場合は、正しく ログ するために input_type と output_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_indexes 、validation_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_processor と output_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
推論モードで tf.keras.Model または tf.keras.Sequential model の FLOPS [GFLOPs] を計算します。
内部的には tf.compat.v1.profiler を使用します。
set_model
View source
set_params
View source
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_truth
と add_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_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_epoch
を model.fit
に渡してトレーニングを再開し、学習率スケジューラを使用している場合は、initial_global_step
を WandbMetricsLogger
に渡してください。initial_global_step
は step_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_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 で渡される) のキーによって入力される名前付きの書式設定オプションを含めることができます。たとえば、filepath が model-{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_acc や val_loss などの検証メトリクスを監視する場合、これらのメトリクスはエポックの最後にのみ使用可能であるため、save_freq を “epoch” に設定する必要があることに注意してください。 |
initial_value_threshold |
(Optional[float]) 監視対象のメトリクスの浮動小数点初期「最良」値。 |
Methods
set_model
set_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
ソースを表示
initialized
ソースを表示
@classmethod
initialized() -> bool
agent が初期化されているかどうかを返します。
loop
ソースを表示
ジョブを無限にポーリングして実行します。
例外 |
|
KeyboardInterrupt |
agent が停止を要求された場合。 |
name
ソースを表示
@classmethod
name() -> str
agent の名前を返します。
pop_from_queue
ソースを表示
ジョブとして実行するために、runqueue からアイテムをポップします。
例外 |
|
Exception |
キューからのポップ中にエラーが発生した場合。 |
print_status
ソースを表示
agent の現在のステータスを出力します。
run_job
ソースを表示
run_job(
job, queue, file_saver
)
プロジェクトを設定し、ジョブを実行します。
task_run_job
ソースを表示
task_run_job(
launch_spec, job, default_config, api, job_tracker
)
update_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 キーと、int 、float 、string などのシリアル化可能な Python オブジェクトである値を持つ dict 。wandb.data_types 、シリアル化可能な Python オブジェクトのリスト、タプル、NumPy 配列。この構造の他の dict 。 |
step |
ログに記録するステップ番号。None の場合、暗黙的な自動インクリメントステップが使用されます。説明の注記を参照してください。 |
commit |
true の場合、ステップを確定してアップロードします。false の場合、ステップのデータを累積します。説明の注記を参照してください。step が None の場合、デフォルトは 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、オプション) 使用するアラートレベル。INFO 、WARN 、または 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
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 のタイプ (例: dataset 、model ) |
aliases |
(list、オプション) この artifact に適用するエイリアス。デフォルトは ["latest"] です。 |
distributed_id |
(string、オプション) すべての分散ジョブが共有する一意の文字列。None の場合、run のグループ名がデフォルトになります。 |
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 を使用してください。
link_artifact
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 の最新バージョンに常に適用されます。 |
link_model
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 キーと、int 、float 、string 、wandb.data_types 、シリアル化可能な Python オブジェクトのリスト、タプル、NumPy 配列、この構造の他の dict など、シリアル化可能な Python オブジェクトである値を含む dict 。 |
step |
ログに記録するステップ番号。None の場合、暗黙的な自動インクリメントステップが使用されます。説明のメモを参照してください。 |
commit |
true の場合、ステップを確定してアップロードします。false の場合、ステップのデータを累積します。説明のメモを参照してください。step が None の場合、デフォルトは 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 のタイプ (例: dataset 、model ) |
aliases |
(list、オプション) この artifact に適用するエイリアス。デフォルトは ["latest"] です。 |
tags |
(list、オプション) この 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(
"../",
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
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 |
live 、now 、または end のいずれか。* live: ファイルが変更されると、ファイルをアップロードし、以前のバージョンを上書きします * now: ファイルを今すぐ 1 回アップロードします * end: run が終了したときにファイルをアップロードします |
戻り値 |
|
一致したファイルに対して作成されたシンボリックリンクへのパス。履歴上の理由から、これはレガシーコードでブール値を返す場合があります。 |
|
status
View source
現在の 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 のタイプ (例: dataset 、model ) |
aliases |
(list、オプション) この artifact に適用するエイリアス。デフォルトは ["latest"] です。 |
distributed_id |
(string、オプション) すべての分散ジョブが共有する一意の文字列。None の場合、run のグループ名がデフォルトになります。 |
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 に表示されます。 |
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
__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 |
live 、now 、または 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 を集計します。オプションには、mean
、min
、max
、median
、sum
、samples
、または None
があります。
groupby_rangefunc
(Optional[GroupArea]): 範囲に基づいて run をグループ化します。オプションには、minmax
、stddev
、stderr
、none
、=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]): 折れ線グラフのフォントのサイズ。オプションには、small
、medium
、large
、auto
、または None
があります。
line_titles
(Optional[dict]): 線のタイトル。キーは線の名前、値はタイトルです。
line_colors
(Optional[dict]): 線の色。キーは線の名前、値は色です。
class BlockQuote
引用テキストのブロック。
Attributes:
class CalloutBlock
注意書きテキストのブロック。
Attributes:
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
に設定されています。オプションには、javascript
、python
、css
、json
、html
、markdown
、yaml
があります。
class CodeComparer
2つの異なる run 間でコードを比較する パネル オブジェクト。
Attributes:
diff
(Literal['split', 'unified'])
: コードの差分をどのように表示するか。オプションには split
と unified
があります。
class Config
run の config オブジェクトに記録されたメトリクス。Config オブジェクトは通常、run.config[name] = ...
を使用するか、キーと値のペアの辞書として config を渡すことによって記録されます。キーはメトリクスの名前、値はそのメトリクスの値です。
Attributes:
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): チャートに表示する文字列。
class Gallery
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:
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 を集計します。オプションには、mean
、min
、max
、median
、sum
、samples
、または None
があります。
groupby_rangefunc
(Optional[GroupArea]): 範囲に基づいて run をグループ化します。オプションには、minmax
、stddev
、stderr
、none
、samples
、または None
があります。
smoothing_factor
(Optional[float]): スムージングタイプに適用するスムージング係数。許容値の範囲は0〜1です。
smoothing_type Optional[SmoothingType]
: 指定された分布に基づいてフィルターを適用します。オプションには、exponentialTimeWeighted
、exponential
、gaussian
、average
、または none
があります。
smoothing_show_original
(Optional[bool]): True
に設定すると、元のデータを表示します。
max_runs_to_show
(Optional[int]): 折れ線グラフに表示する run の最大数。
custom_expressions
(Optional[LList[str]]): データに適用するカスタム式。
plot_type Optional[LinePlotStyle]
: 生成する折れ線グラフのタイプ。オプションには、line
、stacked-area
、または pct-area
があります。
font_size Optional[FontSize]
: 折れ線グラフのフォントのサイズ。オプションには、small
、medium
、large
、auto
、または None
があります。
legend_position Optional[LegendPosition]
: 凡例を配置する場所。オプションには、north
、south
、east
、west
、または None
があります。
legend_template
(Optional[str]): 凡例のテンプレート。
aggregate
(Optional[bool]): True
に設定すると、データを集計します。
xaxis_expression
(Optional[str]): x軸の式。
legend_fields
(Optional[LList[str]]): 凡例に含めるフィールド。
class Link
URLへのリンク。
Attributes:
text
(Union[str, TextWithInlineComments]): リンクのテキスト。
url
(str): リンクが指すURL。
class MarkdownBlock
マークダウンテキストのブロック。一般的なマークダウン構文を使用するテキストを書きたい場合に便利です。
Attributes:
class MarkdownPanel
マークダウンをレンダリングする パネル。
Attributes:
markdown
(str): マークダウン パネルに表示するテキスト。
メディアファイルをグリッドレイアウトで表示する パネル。
Attributes:
num_columns
(Optional[int]): グリッド内の列数。
media_keys
(LList[str]): メディアファイルに対応するメディアキーのリスト。
class Metric
プロジェクトに記録された report に表示するメトリクス。
Attributes:
class OrderBy
並べ替えの基準となるメトリクス。
Attributes:
name
(str): メトリクスの名前。
ascending
(bool): 昇順でソートするかどうか。デフォルトでは False
に設定されています。
class OrderedList
番号付きリストのアイテムのリスト。
Attributes:
items
(LList[str]): 1つまたは複数の OrderedListItem
オブジェクトのリスト。
class OrderedListItem
順序付きリストのリストアイテム。
Attributes:
text
(str): リストアイテムのテキスト。
class P
テキストの段落。
Attributes:
class Panel
パネルグリッドに可視化を表示する パネル。
Attributes:
layout
(Layout): Layout
オブジェクト。
class PanelGrid
runset と パネル で構成されるグリッド。Runset
オブジェクトと Panel
オブジェクトをそれぞれ使用して、runset と パネル を追加します。
利用可能な パネル には、LinePlot
、ScatterPlot
、BarPlot
、ScalarChart
、CodeComparer
、ParallelCoordinatesPlot
、ParameterImportancePlot
、RunComparer
、MediaBrowser
、MarkdownPanel
、CustomChart
、WeavePanel
、WeavePanelSummaryTable
、WeavePanelArtifactVersionedFile
があります。
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]): 折れ線グラフのフォントのサイズ。オプションには、small
、medium
、large
、auto
、または 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 を集計します。オプションには、mean
、min
、max
、median
、sum
、samples
、または None
があります。
groupby_rangefunc
(Optional[GroupArea]): 範囲に基づいて run をグループ化します。オプションには、minmax
、stddev
、stderr
、none
、samples
、または None
があります。
custom_expressions
(Optional[LList[str]]): スカラーチャートで使用するカスタム式のリスト。
legend_template
(Optional[str]): 凡例のテンプレート。
font_size Optional[FontSize]
: 折れ線グラフのフォントのサイズ。オプションには、small
、medium
、large
、auto
、または 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]): 折れ線グラフのフォントのサイズ。オプションには、small
、medium
、large
、auto
、または 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:
class TableOfContents
レポートで指定されたH1、H2、およびH3 HTMLブロックを使用して、セクションとサブセクションのリストを含むブロック。
インラインコメント付きのテキストのブロック。
Attributes:
Twitterフィードを表示するブロック。
Attributes:
html
(str): Twitterフィードを表示するためのHTMLコード。
class UnorderedList
箇条書きリストのアイテムのリスト。
Attributes:
items
(LList[str]): 1つまたは複数の UnorderedListItem
オブジェクトのリスト。
class UnorderedListItem
順序なしリストのリスト項目。
Attributes:
text
(str): リストアイテムのテキスト。
class Video
ビデオを表示するブロック。
Attributes:
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に記録されたその他の値を表示する パネル。クエリは次の形式を取ります。
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 でグループ化するメトリクスのリスト。Metric
、Summary
、Config
、Tags
、または 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
URL からワークスペースを取得します。
method save
現在のワークスペースを W&B に保存します。
戻り値:
Workspace
: 保存された内部名と ID を持つ、更新されたワークスペース。
method 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 のインスタンスでない場合。 |