メインコンテンツまでスキップ

Artifact

データセットとモデルのバージョン管理のための柔軟で軽量なビルディングブロック。

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

空のW&B Artifactを構築します。addで始まるメソッドを使ってアーティファクトの内容を追加します。すべての必要なファイルがアーティファクトに追加されたら、wandb.log_artifact()を呼び出してログを作成できます。

引数
nameアーティファクトの人間が読める名前。W&BアプリのUIまたはプログラムを使用して特定のアーティファクトを識別するために使用します。Public APIのuse_artifactを使ってアーティファクトを参照できます。名前には文字、数字、アンダースコア、ハイフン、およびドットを含めることができます。名前はプロジェクト全体で一意である必要があります。
typeアーティファクトのタイプ。アーティファクトのタイプを使用してアーティファクトを整理し、区別します。文字、数字、アンダースコア、ハイフン、およびドットを含む任意の文字列を使用できます。一般的なタイプにはdatasetmodelが含まれます。アーティファクトをW&Bモデルレジストリにリンクしたい場合は、タイプ文字列にmodelを含めてください。
descriptionアーティファクトの説明。モデルまたはデータセットのArtifactsの場合、標準化されたチームモデルまたはデータセットカードのドキュメントを追加します。アーティファクトの説明をプログラムによってはArtifact.description属性で、またはW&BアプリのUIからプログラム的に確認できます。W&Bはアプリ内で説明をMarkdownとしてレンダリングします。
metadataアーティファクトに関する追加情報。メタデータをキーと値のペアで辞書として指定します。キーの総数は100個以内で指定してください。
戻り値
Artifactオブジェクト。
属性
aliasesアーティファクトバージョンに割り当てられた、意味的に親しみやすい参照や識別用の「ニックネーム」のリスト。エイリアスはプログラムによって参照できる可変参照です。エイリアスはW&BアプリのUIまたはプログラムによって変更可能です。詳細については、新しいアーティファクトバージョンの作成を参照してください。
collectionこのアーティファクトが取得されたコレクション。コレクションはアーティファクトバージョンの順序付けられたグループです。
commit_hashこのアーティファクトがコミットされた時に返されるハッシュ。
created_atアーティファクトが作成されたタイムスタンプ。
descriptionアーティファクトの説明。
digestアーティファクトの論理的ダイジェスト。
entity二次(ポートフォリオ)アーティファクトコレクションのエンティティの名前。
file_countファイルの数(参照を含む)。
idアーティファクトのID。
manifestアーティファクトのマニフェスト。マニフェストはアーティファクトのすべての内容を一覧表示し、一度ログに記録された後は変更できません。
metadataユーザー定義のアーティファクトメタデータ。アーティファクトに関連する構造化データ。
name二次(ポートフォリオ)コレクションのアーティファクト名とバージョン。形式は{collection}:{alias}。名前だけが含まれます。
project二次(ポートフォリオ)アーティファクトコレクションのプロジェクト名。
qualified_name二次(ポートフォリオ)コレクションのentity/project/name。
sizeアーティファクトの総サイズ(バイト単位)。
source_collectionアーティファクトの一次(シーケンス)コレクション。
source_entity一次(シーケンス)アーティファクトコレクションのエンティティの名前。
source_name一次(シーケンス)コレクションのアーティファクト名とバージョン。形式は {collection}:{alias} です。名前だけが含まれます。
source_project一次(シーケンス)アーティファクトコレクションのプロジェクト名。
source_qualified_name一次(シーケンス)コレクションのentity/project/name。
source_version一次(シーケンス)コレクションのアーティファクトのバージョン。形式は "v{number}"。
stateアーティファクトの状態。 "PENDING", "COMMITTED", または "DELETED" のいずれか。
ttlアーティファクトのタイム・トゥ・リブ (TTL) ポリシー。
typeアーティファクトのタイプ。一般的なタイプにはdatasetmodelが含まれます。
updated_atアーティファクトが最後に更新された時刻。
version二次(ポートフォリオ)コレクションのアーティファクトのバージョン。

Methods

add

ソースを見る

add(
obj: data_types.WBValue,
name: StrPath
) -> ArtifactManifestEntry

wandb.WBValue objをアーティファクトに追加します。

引数
obj追加するオブジェクト。現在サポートされているのは、Bokeh, JoinedTable, PartitionedTable, Table, Classes, ImageMask, BoundingBoxes2D, Audio, Image, Video, Html, Object3Dです。
nameアーティファクト内でオブジェクトを追加するパス。
戻り値
追加されたマニフェストエントリ。
例外
ArtifactFinalizedError現在のアーティファクトバージョンに変更を加えることはできません。代わりに新しいアーティファクトバージョンをログに記録してください。

add_dir

ソースを見る

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

ローカルディレクトリをアーティファクトに追加します。

引数
local_pathローカルディレクトリのパス。
nameアーティファクト内のサブディレクトリ名。この名前はW&BアプリのUIでアーティファクトのtypeによってネストされて表示されます。デフォルトはアーティファクトのルートです。
skip_cacheTrueに設定されている場合、アップロード中にファイルをキャッシュにコピー/移動しません。
policy"mutable" または "immutable"。デフォルトは"mutable"。「mutable」:アップロード中のファイルの破損を防ぐため、一時コピーを作成します。「immutable」:保護を無効にし、ファイルを削除または変更しないようユーザーに依存します。
例外
ArtifactFinalizedError現在のアーティファクトバージョンに変更を加えることはできません。代わりに新しいアーティファクトバージョンをログに記録してください。
ValueErrorポリシーは "mutable" または "immutable" でなければなりません。

add_file

ソースを見る

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

ローカルファイルをアーティファクトに追加します。

引数
local_path追加するファイルのパス。
name追加するファイルが使用されるアーティファクト内のパス。デフォルトはファイルのベース名です。
is_tmptrueの場合、ファイルは衝突を避けるため決定論的に名前が変更されます。
skip_cacheTrueに設定されている場合、アップロード後にファイルをキャッシュにコピーしません。
policy"mutable" または "immutable"。デフォルトは"mutable"。「mutable」:アップロード中のファイルの破損を防ぐため、一時コピーを作成します。「immutable」:保護を無効にし、ファイルを削除または変更しないようユーザーに依存します。
戻り値
追加されたマニフェストエントリ。
例外
ArtifactFinalizedError現在のアーティファクトバージョンに変更を加えることはできません。代わりに新しいアーティファクトバージョンをログに記録してください。
ValueErrorポリシーは "mutable" または "immutable" でなければなりません。

add_reference

ソースを見る

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

URIで示される参照をアーティファクトに追加します。

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

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

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

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

引数
uri追加する参照のURIパス。URIパスは、他のアーティファクトのエントリへの参照を保存するためにArtifact.get_entryから返されるオブジェクトである可能性があります。
nameこの参照の内容を配置するアーティファクト内のパス。
checksum参照URIにあるリソースのチェックサムを行うかどうか。チェックサミングは強く推奨されます。
max_objectsディレクトリまたはバケットストアプレフィックスを指す参照を追加する際に考慮するオブジェクトの最大数。デフォルトでは、Amazon S3, GCS, Azure, およびローカルファイルの最大数は10,000,000です。他のURIスキーマには最大値がありません。
戻り値
追加されたマニフェストエントリ。
例外
ArtifactFinalizedError現在のアーティファクトバージョンに変更を加えることはできません。代わりに新しいアーティファクトバージョンをログに記録してください。

checkout

ソースを見る

checkout(
root: Optional[str] = None
) -> str

指定されたルートディレクトリをアーティファクトの内容で置き換えます。

警告:これはアーティファクトに含まれていないroot内のすべてのファイルを削除します。

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

delete

ソースを見る

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

アーティファクトとそのファイルを削除します。

リンクされたアーティファクト(つまり、ポートフォリオコレクションのメンバー)に対して呼び出された場合、リンクのみが削除され、元のアーティファクトは影響を受けません。

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

download

ソースを見る

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

アーティファクトの内容を指定されたルートディレクトリにダウンロードします。

root内の既存のファイルは変更されません。一致するようにしたい場合は、downloadを呼び出す前に明示的にrootを削除してください。

引数
rootW&Bがアーティファクトのファイルを保存するディレクトリ。
allow_missing_referencesTrueに設定すると、無効な参照パスがあっても無視され、参照ファイルのダウンロードは行われません。
skip_cacheTrueに設定されている場合、アーティファクトキャッシュをスキップし、各ファイルをデフォルトのルートまたは指定されたダウンロードディレクトリに直接ダウンロードします。
戻り値
ダウンロードされた内容のパス。
例外
ArtifactNotLoggedErrorアーティファクトがログに記録されていない場合。

file

ソースを見る

file(
root: Optional[str] = None
) -> StrPath

単一のファイルアーティファクトを、rootで指定されたディレクトリにダウンロードします。

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

files

ソースを見る

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

このアーティファクトに保存されているすべてのファイルを反復します。

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

finalize

ソースを見る

finalize() -> None

アーティファクトバージョンを確定します。

アーティファクトバージョンが確定されると、アーティファクトに変更を加えることはできません。アーティファクトにデータを追加する場合は、新しいアーティファクトバージョンを作成してください。アーティファクトはlog_artifactでログに記録されると自動的に確定されます。

get

ソースを見る

get(
name: str
) -> Optional[data_types.WBValue]

アーティファクト相対の name にあるWBValueオブジェクトを取得します。

引数
name取得するアーティファクト相対の名前。
戻り値
W&Bオブジェクト。wandb.log()でログに記録し、W&BのUIで可視化可能。
例外
ArtifactNotLoggedErrorアーティファクトがログに記録されていない場合やrunがオフラインの場合。

get_added_local_path_name

ソースを見る

get_added_local_path_name(
local_path: str
) -> Optional[str]

ローカルファイルシステムパスによって追加されたファイルのアーティファクト相対名を取得します。

引数
local_pathアーティファクト相対名に解決されるローカルパス。
戻り値
アーティファクト相対名。

get_entry

ソースを見る

get_entry(
name: StrPath
) -> ArtifactManifestEntry

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

引数
name取得するアーティファクト相対の名前。
戻り値
W&Bオブジェクト。
例外
ArtifactNotLoggedErrorアーティファクトがログに記録されていない場合やrunがオフラインの場合。
KeyError指定された名前のエントリがアーティファクトに含まれていない場合。

get_path

ソースを見る

get_path(
name: StrPath
) -> ArtifactManifestEntry

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

is_draft

ソースを見る

is_draft() -> bool

アーティファクトが保存されていないかどうかを確認します。

戻り値: Boolean。アーティファクトが保存されている場合はFalse。保存されていない場合はTrue

json_encode

ソースを見る

json_encode() -> Dict[str, Any]

アーティファクトをJSON形式にエンコードして返します。

戻り値
アーティファクトの属性を表す文字列キーを持つdict

ソースを見る

link(
target_path: str,
aliases: Optional[List[str]] = None
) -> None

このアーティファクトをポートフォリオ(アーティファクトのプロモートされたコレクション)にリンクします。

引数
target_pathプロジェクト内のポートフォリオへのパス。ターゲットパスは以下のいずれかのスキーマに従う必要があります {portfolio}, {project}/{portfolio} または {entity}/{project}/{portfolio}。モデルレジストリへアーティファクトをリンクする場合は、スキーマ {"model-registry"}/{Registered Model Name} または {entity}/{"model-registry"}/{Registered Model Name}を設定してください。
aliases指定されたポートフォリオ内でアーティファクトを一意に識別する文字列のリスト。
例外
ArtifactNotLoggedErrorアーティファクトがログに記録されていない場合。

logged_by

ソースを見る

logged_by() -> Optional[Run]

アーティファクトを最初にログに記録したW&B runを取得します。

戻り値
アーティファクトを最初にログに記録したW&B runの名前。
例外
ArtifactNotLoggedErrorアーティファクトがログに記録されていない場合。

new_draft

ソースを見る

new_draft() -> "Artifact"

このコミットされたアーティファクトと同じ内容を持つ新しい下書きアーティファクトを作成します。

戻り値のアーティファクトは拡張や変更が可能で、新しいバージョンとしてログに記録できます。

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

new_file

ソースを見る

@contextlib.contextmanager
new_file(
name: str,
mode: str = "w",
encoding: Optional[str] = None
) -> Generator[IO, None, None]

新しい一時ファイルを開き、それをアーティファクトに追加します。

引数
nameアーティファクトに追加する新しいファイルの名前。
mode新しいファイルを開くためのファイルアクセスモード。
encoding新しいファイルを開くために使用されるエンコーディング。
戻り値
新しいファイルオブジェクト。クローズするとファイルは自動的にアーティファクトに追加されます。
例外
ArtifactFinalizedError現在のアーティファクトバージョンに変更を加えることはできません。代わりに新しいアーティファクトバージョンをログに記録してください。

path_contains_dir_prefix

ソースを見る

@classmethod
path_contains_dir_prefix(
path: StrPath,
dir_path: StrPath
) -> bool

pathdir_pathをプレフィックスとして含む場合にtrueを返します。

remove

ソースを見る

remove(
item: Union[StrPath, 'ArtifactManifestEntry']
) -> None

アーティファクトからアイテムを削除します。

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

save

ソースを見る

save(
project: Optional[str] = None,
settings: Optional['wandb.wandb_sdk.wandb_settings.Settings'] = None
) -> None

アーティファクトに対する変更を保存します。

現在のrun内にある場合、そのrunでこのアーティファクトがログに記録されます。run内にない場合、"auto"タイプのrunが作成され、このアーティファクトを追跡します。

引数
projectrunが既にコンテキストにない場合にアーティファクトに使用するプロジェクト。
settings自動runを初期化するときに使用する設定オブジェクト。主にテスト環境で使用されます。

should_download_entry

ソースを見る

@classmethod
should_download_entry(
entry: ArtifactManifestEntry,
prefix: Optional[StrPath]
) -> bool

ソースを見る

unlink() -> None

現在、ポートフォリオ(アーティファクトのプロモートされたコレクション)のメンバーである場合、このアーティファクトのリンクを解除します。

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

used_by

ソースを見る

used_by() -> List[Run]

このアーティファクトを使用したrunのリストを取得します。

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

verify

ソースを見る

verify(
root: Optional[str] = None
) -> None

アーティファクトの内容がマニフェストと一致するかどうかを検証します。

ディレクトリ内のすべてのファイルがチェックサムされ、チェックサムはアーティファクトのマニフェストとクロスリファレンスされます。参照は検証されません。

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

wait

ソースを見る

wait(
timeout: Optional[int] = None
) -> "Artifact"

必要に応じて、このアーティファクトのロギングが完了するまで待ちます。

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

__getitem__

ソースを見る

__getitem__(
name: str
) -> Optional[data_types.WBValue]

アーティファクト相対の name にあるWBValueオブジェクトを取得します。

引数
name取得するアーティファクト相対の名前。
戻り値
W&Bオブジェクト。wandb.log()でログに記録し、W&BのUIで可視化できます。
例外
ArtifactNotLoggedErrorアーティファクトがログに記録されていない場合やrunがオフラインの場合。

__setitem__

ソースを見る

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

itemを指定されたパス name のアーティファクトに追加します。

引数
nameオブジェクトを追加するアーティファクト内のパス。
item追加するオブジェクト。
戻り値
追加されたマニフェストエントリ。
例外
ArtifactFinalizedError現在のアーティファクトバージョンに変更を加えることはできません。代わりに新しいアーティファクトバージョンをログに記録してください。
Was this page helpful?👍👎