クラス wandb.Artifact
データセットとモデルのバージョン管理のための、柔軟で軽量な基本構成要素です。 空の W&B Artifact を作成します。add で始まる method を使って アーティファクト の内容を
追加します。必要なファイルをすべて アーティファクト に追加したら、
run.log_artifact() を呼び出してログします。
引数
str
アーティファクト の人間が読み取れる名前です。この名前を使うと、W&B App UI 上またはプログラムから特定の アーティファクト を識別できます。
use_artifact Public API を使えば、アーティファクト をインタラクティブに参照することもできます。名前には、英字、数字、アンダースコア、ハイフン、ドットを使用できます。名前はプロジェクト内で一意である必要があります。str
アーティファクト のタイプです。アーティファクト のタイプは、Artifacts を整理し、相互に区別するために使用します。英字、数字、アンダースコア、ハイフン、ドットを含む任意の文字列を使用できます。一般的なタイプには
dataset や model があります。アーティファクト を W&B Model Registry にリンクしたい場合は、タイプ文字列に model を含めてください。なお、一部のタイプは内部使用のために予約されており、ユーザーは設定できません。これには job や wandb- で始まるタイプが含まれます。str | None
アーティファクト の説明です。Model または Dataset Artifacts の場合は、標準化されたチームのモデルカードまたはデータセットカード用のドキュメントを追加します。アーティファクト の説明は、
Artifact.description 属性を使ってプログラムから確認することも、W&B App UI で確認することもできます。W&B App では、説明は markdown として表示されます。dict[str, Any] | None
アーティファクト に関する追加情報です。metadata はキーと値のペアからなる辞書として指定します。指定できるキーの総数は 100 個までです。
bool
既存の アーティファクト を変更するには、代わりに
Artifact.new_draft() method を使用してください。str | None
非推奨。
str | None
説明はありません。
Literal['MD5', 'XXH128']
アーティファクト に使用するダイジェストアルゴリズムです。デフォルトは MD5 です。XXH128 に設定すると、すでに MD5 を使用しているコレクションの一部でない限り、アーティファクト は XXH128 アルゴリズムでハッシュ化されます。SDK バージョン 0.29.0 より前では、XXH128 アーティファクト に対する
artifact.verify() の呼び出しは常に失敗します。プロパティ
list[str]
アーティファクト バージョンに割り当てられた、意味のわかりやすい1つ以上の参照または識別用の「ニックネーム」のリストです。エイリアスは、プログラムから参照できる変更可能な参照です。
アーティファクトのエイリアスは、W&B App UI またはプログラムから変更できます。
詳細については、新しいアーティファクト バージョンを作成する
を参照してください。
ArtifactCollection
このアーティファクトの取得元のコレクションです。コレクションは、順序付けられたアーティファクト バージョンのグループです。
このアーティファクトがリンク先のコレクションから取得された場合は、
そのコレクションを返します。それ以外の場合は、
アーティファクト バージョンの元となるコレクションを返します。アーティファクトの元となるコレクションは、
ソース シーケンスと呼ばれます。
str
このアーティファクトのコミット時に返されたハッシュです。
str
アーティファクトが作成された Timestamp です。
str | None
アーティファクトの説明です。
str
アーティファクトの論理ダイジェストです。ダイジェストはアーティファクトの内容のチェックサムです。アーティファクトの
ダイジェストが現在の
latest バージョンと同じ場合、log_artifact は何も実行しません。ArtifactDigestAlgorithm
アーティファクトのダイジェストの計算に使用するダイジェスト アルゴリズムです。
str
アーティファクト コレクションが属するエンティティの名です。アーティファクトがリンクの場合、エンティティはリンク先のアーティファクトのエンティティになります。
int
file の数 (参照を含む) です。
int | None
このアーティファクトのソース run の履歴メトリクスがログされた最も近いステップです。
str | None
アーティファクトの ID です。
bool
アーティファクトがリンク アーティファクトかどうかを示すブール値フラグです。True: アーティファクトはソース アーティファクトへのリンク アーティファクトです。
False: アーティファクトはソース アーティファクトです。
list[Artifact]
ソース アーティファクトにリンクされているすべてのアーティファクトのリストを返します。このアーティファクトがリンク アーティファクト (
artifact.is_link == True) の場合、
空のリストを返します。結果は500件に制限されます。str | None
このアーティファクトが現在のコレクションにリンクされた時刻です。リンクされたアーティファクトに対してのみ有効で、それ以外の場合は
None を返します。ArtifactManifest
アーティファクトのマニフェストです。マニフェストにはすべての内容が一覧表示され、アーティファクトが
ログされた後は変更できません。
dict
ユーザー定義のアーティファクト メタデータです。アーティファクトに関連付けられた構造化データです。
str
アーティファクトの名とバージョンです。形式は
{collection}:{alias} の string です。アーティファクトが
ログまたは保存される前に取得した場合、名にはエイリアスが含まれません。
アーティファクトがリンクの場合、名はリンク先のアーティファクトの名になります。str
アーティファクト コレクションが属する project の名です。アーティファクトがリンクの場合、project はリンク先のアーティファクトの project になります。
str
アーティファクトの entity/project/name です。アーティファクトがリンクの場合、修飾名は
リンク先アーティファクト パスの修飾名になります。
int
アーティファクトの合計サイズ (バイト単位) です。このアーティファクトによってトラッキングされるすべての参照を含みます。
Artifact
元のログ済みアーティファクトであるソース アーティファクトを返します。このアーティファクトがソース アーティファクト (
artifact.is_link == False) の場合、
自身を返します。ArtifactCollection
アーティファクトのソース コレクションです。ソース コレクションは、アーティファクトがログされたコレクションです。
str
ソース アーティファクトのエンティティの名です。
str
ソース アーティファクトの名とバージョンです。形式は
{source_collection}:{alias} の string です。アーティファクトが
保存される前はバージョンがまだ不明なため、名のみが含まれます。str
ソース artifact の project 名。
str
ソース artifact の source_entity/source_project/source_name。
str
ソース artifact のバージョン。
v{number} 形式の string。str
artifact のステータス。“PENDING”、“COMMITTED”、または “DELETED” のいずれか。
list[str]
この artifact バージョンに割り当てられた 1 つ以上のタグのリスト。
timedelta | None
artifact の time-to-live (TTL) ポリシー。TTL ポリシーの期間を過ぎると、Artifacts はその後まもなく削除されます。
None に設定すると、その artifact では TTL ポリシーが無効になり、チームのデフォルト TTL が存在していても削除対象としてスケジュールされません。チーム管理者がデフォルト TTL を定義しており、artifact にカスタムポリシーが設定されていない場合、artifact はチームのデフォルトの TTL ポリシーを継承します。str
artifact のタイプ。一般的なタイプには
dataset や model があります。str
artifact が最後に更新された時刻。
artifact の URL。
artifact の URL を構築します。
str | None
非推奨。
str
artifact のバージョン。
v{number} 形式の string。
これがリンクされた artifact の場合、バージョンはリンク先のコレクションから取得されます。メソッド
method Artifact.add()
obj を追加します。
引数
WBValue
追加するオブジェクト。現在サポートされているのは、Bokeh、JoinedTable、PartitionedTable、Table、Classes、ImageMask、BoundingBoxes2D、Audio、Image、Video、Html、Object3D のいずれかです。
StrPath
オブジェクトを追加する artifact 内のパス。
bool
True の場合、該当する場合は同じファイルパスを持つ既存のオブジェクトを上書きします。
例外
ArtifactFinalizedError: 現在の artifact バージョンは確定済みのため、変更できません。代わりに新しい artifact バージョンをログしてください。
メソッド Artifact.add_dir()
引数
str
ローカルディレクトリのパス。
str | None
artifact 内のサブディレクトリ名。指定した名前は、W&B App UI で artifact の
type 配下にネストされて表示されます。デフォルトでは artifact のルートです。bool | None
True に設定すると、W&B はアップロード中にファイルをキャッシュへコピーまたは移動しませんLiteral['mutable', 'immutable'] | None
デフォルトは “mutable” です。
- mutable: アップロード中の破損を防ぐため、ファイルの一時コピーを作成します。
- immutable: 保護を無効にし、ユーザーがファイルを削除または変更しないことを前提とします。
bool
False (デフォルト) の場合、以前の add_dir 呼び出しですでに追加されたファイルの内容が変更されていると ValueError を送出します。True の場合、内容が変更された既存ファイルを上書きします。新しいファイルは常に追加され、既存ファイルが削除されることはありません。ディレクトリ全体を置き換えるには、add_dir(local_path, name=my_prefix) を使用してディレクトリ追加時に名前を指定し、remove(my_prefix) を呼び出してそのディレクトリを削除してから、再度追加してください。例外
ArtifactFinalizedError: 現在のartifactバージョンは確定済みのため、変更できません。代わりに新しいartifactバージョンをログしてください。ValueError: Policy は “mutable” または “immutable” である必要があります
メソッド Artifact.add_file()
引数
str
追加するファイルのパス。
str | None
追加するファイルに使用する、artifact内のパス。デフォルトではファイルのベース名が使用されます。
bool | None
true の場合、競合を避けるため、ファイル名は決定論的に変更されます。
bool | None
True の場合、アップロード後にファイルをキャッシュへコピーしません。Literal['mutable', 'immutable'] | None
デフォルトでは “mutable” に設定されます。“mutable” を指定すると、アップロード中の破損を防ぐためにファイルの一時コピーを作成します。“immutable” を指定すると、保護を無効にし、ユーザーがファイルを削除または変更しないことを前提とします。
bool
True の場合、ファイルがすでに存在していれば上書きします。例外
ArtifactFinalizedError: 現在のartifactバージョンは確定済みのため、変更できません。代わりに新しいartifactバージョンをログしてください。ValueError: Policy は “mutable” または “immutable” である必要があります
method Artifact.add_reference()
- http(s): ファイルのサイズとダイジェストは、サーバーから返される
Content-LengthおよびETagレスポンスヘッダーから推定されます。 - s3: チェックサムとサイズはオブジェクトのメタデータから取得されます。 bucket のバージョン管理が有効な場合は、バージョン ID もトラッキングされます。
- gs: チェックサムとサイズはオブジェクトのメタデータから取得されます。bucket のバージョン管理が有効な場合は、バージョン ID もトラッキングされます。
- https,
*.blob.core.windows.netに一致するドメイン - Azure: チェックサムとサイズは blob のメタデータから取得されます。 storage account のバージョン管理が有効な場合は、バージョン ID も トラッキングされます。
- file: チェックサムとサイズはファイルシステムから取得されます。このスキームは 、ファイルをトラッキングしたいものの、必ずしもアップロードはしたくない場合に、NFS 共有やその他の外部マウントされたボリューム内のファイルを扱うのに便利です。
引数
ArtifactManifestEntry | str
追加する参照の URI パス。別の アーティファクト のエントリへの参照を保存するには、
Artifact.get_entry が返すオブジェクトを URI パスとして指定することもできます。StrPath | None
この参照の内容を配置する アーティファクト 内のパス。
bool
参照 URI にあるリソースのチェックサムを計算するかどうか。自動整合性検証を有効にするため、チェックサムの計算を強く推奨します。チェックサムの計算を無効にすると アーティファクト の作成は高速になりますが、参照ディレクトリは走査されないため、ディレクトリ内のオブジェクトは アーティファクト に保存されません。参照オブジェクトを追加する場合は
checksum=False に設定することを推奨します。この場合、新しいバージョンは参照 URI が変更されたときにのみ作成されます。int | None
ディレクトリまたは bucket store prefix を指す参照を追加する際に対象とするオブジェクトの最大数。デフォルトでは、Amazon S3、GCS、Azure、およびローカルファイルで許可されるオブジェクトの最大数は 10,000,000 です。その他の URI スキームには最大数はありません。
例外
ArtifactFinalizedError: 現在の artifact バージョンは確定済みのため、変更できません。代わりに新しい artifact バージョンをログしてください。
method Artifact.checkout()
root 内のファイルはすべて削除されます。
引数
str | None
この artifact のファイルで置き換える対象のディレクトリ。
例外
ArtifactNotLoggedError: artifact がログされていない場合。
method Artifact.delete()
Artifact.delete() ではなく Artifact.unlink() を使用してください。
引数
bool
True に設定すると、artifact に関連付けられているすべての alias を削除します。False の場合、artifact に既存の alias があると例外を送出します。artifact がリンク先の collection から取得されたものである場合、このパラメーターは無視されます。例外
ArtifactNotLoggedError: artifact がログされていない場合。
メソッド Artifact.download()
root 内にある既存のファイルは変更されません。root の内容を artifact と完全に一致させたい場合は、download を呼び出す前に root を明示的に削除してください。
引数
StrPath | None
W&B が artifact のファイルを保存するディレクトリ。
bool
True に設定すると、参照ファイルのダウンロード中に無効な参照パスは無視されます。bool | None
True に設定すると、ダウンロード時に artifact キャッシュをスキップし、W&B は各ファイルをデフォルトのルートまたは指定したダウンロードディレクトリにダウンロードします。StrPath | None
指定した場合、指定したプレフィックスで始まるパスを持つファイルのみダウンロードされます。UNIX 形式 (フォワードスラッシュ) を使用します。
bool | None
None (デフォルト) に設定すると、各ファイルのサイズが 2GB を超える場合、multipart ダウンロードを使用して artifact を並列にダウンロードします。True または False に設定すると、ファイルサイズに関係なく、artifact は並列または逐次でダウンロードされます。例外
ArtifactNotLoggedError: artifact がログされていない場合。
メソッド Artifact.file()
root で指定したディレクトリに、単一ファイルのArtifactをダウンロードします。
引数
str | None
ファイルの保存先となるルートディレクトリ。デフォルトは
./artifacts/self.name/ です。送出する例外
ArtifactNotLoggedError: Artifactがログされていない場合。ValueError: Artifactに複数のファイルが含まれている場合。
method Artifact.files()
引数
list[str] | None
一覧取得する対象の、アーティファクト のルートからの相対ファイルパス。
int
リクエストごとに返すファイル数。
str | None
過去のクエリを再開するためのページネーションカーソル。前回の paginator の
.cursor 属性から取得します。例外
ArtifactNotLoggedError: artifact がログされていない場合。
メソッド Artifact.finalize()
log_artifact
でログすると自動的に自動確定されます。
method Artifact.get()
name にある WBValue object を取得します。
引数
str
取得する artifact 内の相対パス名。
発生する例外
ArtifactNotLoggedError: artifact がログされていない場合、または run がオフラインの場合。
method Artifact.get_added_local_path_name()
引数
str
artifact 相対名に変換するローカルパス。
method Artifact.get_entry()
引数
StrPath
取得する artifact の相対名
発生する例外
ArtifactNotLoggedError: artifact がログされていない場合、または run がオフラインの場合。KeyError: artifact に指定した名のエントリが含まれていない場合。
method Artifact.get_path()
get_entry(name) を使用してください。
引数
StrPath
説明はありません。
メソッド Artifact.is_draft()
method Artifact.json_encode()
method Artifact.link()
引数
str
コレクションのパス。パスは、プレフィックス “wandb-registry-” に続けて、レジストリ名とコレクション名を指定した
wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME} の形式です。Iterable[str] | None
リンクした artifact に 1 つ以上のエイリアスを追加します。“latest” エイリアスは、リンクした artifact のうち最新のものに自動的に適用されます。
例外
ArtifactNotLoggedError: artifact がログされていない場合。
メソッド Artifact.logged_by()
例外
ArtifactNotLoggedError: artifact がログされていない場合。
メソッド Artifact.new_draft()
例外
ArtifactNotLoggedError: artifact がログされていない場合。
method Artifact.new_file()
引数
str
artifactに追加する新しいfileの名。
str
新しいfileを開く際に使用するfileアクセスモード。
str | None
新しいfileを開く際に使用するエンコーディング。
Literal['mutable', 'immutable']
デフォルトでは “mutable” に設定されます。“mutable” を指定すると、アップロード中の破損を防ぐためにファイルの一時コピーを作成します。“immutable” を指定すると、保護を無効にし、ユーザーがファイルを削除または変更しないことを前提とします。
例外
ArtifactFinalizedError: 現在の artifact バージョンは確定済みのため、変更できません。代わりに新しい artifact バージョンをログしてください。
method Artifact.remove()
引数
StrPath | ArtifactManifestEntry
削除する項目です。特定の manifest エントリ、または artifact 相対パスの名を指定できます。
item がディレクトリに一致する場合、そのディレクトリ内のすべての項目が削除されます。Raises
ArtifactFinalizedError: 現在の artifact バージョンは確定済みのため、変更できません。代わりに新しい artifact バージョンをログしてください。FileNotFoundError: artifact 内にitemが見つからない場合。
メソッド Artifact.save()
引数
str | None
run がまだコンテキスト内にない場合に、artifact に使用するプロジェクト。
wandb.Settings | None
自動 run の初期化時に使用する設定オブジェクト。主にテストハーネスで使用します。
method Artifact.unlink()
発生する例外
ArtifactNotLoggedError: artifact がログされていない場合。ValueError: artifact がどの collection にもリンクされていない場合。
メソッド Artifact.used_by()
例外
ArtifactNotLoggedError: artifact がログされていない場合。
method Artifact.verify()
引数
str | None
検証するディレクトリです。None の場合、アーティファクトは ’./artifacts/self.name/’ にダウンロードされます。
発生する例外
ArtifactNotLoggedError: アーティファクトがログされていない場合。ValueError: 検証に失敗した場合。
メソッド Artifact.wait()
引数
int | None
待機する時間 (秒) 。