class Artifact
データセットおよびモデルのバージョニングのための、柔軟で軽量な構成要素です。
空の W&B アーティファクトを作成します。add で始まるメソッドを使って、アーティファクトの内容を追加します。アーティファクトに必要なファイルがすべてそろったら、run.log_artifact() を呼び出してログとして記録します。
method Artifact.__init__
name(str): アーティファクトの人間が読める名前。W&B App の UI またはプログラムから特定のアーティファクトを識別するためにこの名前を使用します。use_artifactPublic API を使って、対話的にアーティファクトを参照できます。名前には英数字、アンダースコア、ハイフン、ドットを含めることができます。名前はプロジェクト全体で一意である必要があります。type(str): アーティファクトの種類。アーティファクトの種類を使って、アーティファクトを整理および区別します。英数字、アンダースコア、ハイフン、ドットを含む任意の文字列を使用できます。一般的な種類にはdatasetやmodelがあります。アーティファクトを W&B Model Registry にリンクしたい場合は、種類の文字列にmodelを含めてください。一部の種類は内部使用のために予約されており、ユーザーが設定することはできません。そのような種類にはjobや、wandb-で始まる種類が含まれます。description (str | None) = None: アーティファクトの説明。Model または Dataset アーティファクトの場合、チームで標準化したモデルカードまたはデータセットカードのドキュメントを追加します。プログラムからはArtifact.description属性を使用し、また W&B App の UI からもアーティファクトの説明を確認できます。W&B は説明を W&B App 内で Markdown としてレンダリングします。metadata (dict[str, Any] | None) = None: アーティファクトに関する追加情報。メタデータはキーと値のペアからなる辞書として指定します。指定できるキーは合計 100 個までです。incremental: 既存のアーティファクトを変更するには、代わりにArtifact.new_draft()メソッドを使用します。use_as: 非推奨。
Artifact オブジェクト。
property Artifact.aliases
1 つ以上の、意味的に分かりやすい参照や アーティファクトバージョンに割り当てられた識別用の「ニックネーム」の一覧です。 エイリアスは、プログラムから参照できる変更可能な参照です。アーティファクトのエイリアスは、W&B App の UI から、またはプログラムで変更できます。詳細は、Create new artifact versions を参照してください。 戻り値:list[str]:aliasesプロパティの値。
property Artifact.collection
このアーティファクトが取得されるコレクションです。 コレクションとは、順序付きのアーティファクトバージョンのグループです。このアーティファクトがリンクされているコレクションから取得される場合は、そのコレクションを返します。それ以外の場合は、そのアーティファクトバージョンの元になっているコレクションを返します。 アーティファクトの元になっているコレクションは、ソースシーケンス (source sequence) と呼ばれます。 戻り値:ArtifactCollection: collection プロパティの値。
property Artifact.commit_hash
このアーティファクトをコミットしたときのハッシュ値。 戻り値:str: commit_hash プロパティの値。
property Artifact.created_at
アーティファクトが作成された時刻のタイムスタンプ。 戻り値:str: created_at プロパティの値。
property Artifact.description
アーティファクトの説明。 Returns:str | None: description プロパティの値。
property Artifact.digest
アーティファクトの論理的なダイジェストです。 ダイジェストはアーティファクト内容のチェックサムです。あるアーティファクトが現在のlatest バージョンと同じダイジェストを持つ場合、log_artifact は何も処理を行いません (no-op)。
戻り値:
str: digest プロパティの値。
property Artifact.entity
アーティファクトコレクションが属するエンティティの名前。 アーティファクトがリンクの場合、この値はリンク先アーティファクトのエンティティになる。 戻り値:str: entity プロパティの値。
property Artifact.file_count
ファイル数(参照を含む)。 戻り値:int:file_countプロパティの値。
property Artifact.history_step
このアーティファクトのソース run において履歴メトリクスがログされた、最も近いステップ。 例:int | None:history_stepプロパティの値。
property Artifact.id
アーティファクトのID。 戻り値:str | None:idプロパティの値。
property Artifact.is_link
アーティファクトがリンクアーティファクトかどうかを示すブールフラグ。 True: アーティファクトはソースアーティファクトへのリンクアーティファクトです。False: アーティファクトはソースアーティファクトです。 戻り値:bool: is_link プロパティの値。
property Artifact.linked_artifacts
ソースアーティファクトにリンクされているすべてのアーティファクトのリストを返します。 このアーティファクト自体がリンクアーティファクト(artifact.is_link == True)である場合は、空のリストを返します。
結果は最大 500 件に制限されます。
Returns:
list[Artifact]: linked_artifacts プロパティの値。
property Artifact.manifest
アーティファクトのマニフェスト。 マニフェストにはアーティファクト内のすべての内容が含まれており、アーティファクトがログに記録された後は変更できません。 戻り値:ArtifactManifest: manifest プロパティの値。
property Artifact.metadata
ユーザー定義のアーティファクトメタデータ。 アーティファクトに関連付けられた構造化されたデータ。 戻り値:dict:metadataプロパティの値。
property Artifact.name
アーティファクトの名前とバージョン。{collection}:{alias} という形式の文字列。アーティファクトがログ/保存される前に取得すると、名前には alias が含まれない。アーティファクトがリンクアーティファクトである場合、名前はリンク先アーティファクトの名前になる。
戻り値:
str:nameプロパティの値。
property Artifact.project
このアーティファクトコレクションが属しているプロジェクトの名前。 アーティファクトがリンクの場合、project はリンク先アーティファクトのプロジェクトになります。
戻り値:
str:projectプロパティの値。
property Artifact.qualified_name
アーティファクトの entity/project/name。 アーティファクトがリンクの場合、qualified_name はリンク先アーティファクトパスの qualified_name になります。
Returns:
str:qualified_nameプロパティの値。
property Artifact.size
アーティファクトの合計サイズ(バイト数)。 このアーティファクトが追跡するすべての参照を含みます。 戻り値:int:sizeプロパティの値。
property Artifact.source_artifact
元のログ済みアーティファクトであるソースアーティファクトを返します。 このアーティファクトがソースアーティファクト(artifact.is_link == False)である場合は、自身を返します。
Returns:
Artifact: source_artifact プロパティの値。
property Artifact.source_collection
アーティファクトのソースコレクション。 ソースコレクションは、そのアーティファクトがログされた元のコレクションです。 戻り値:ArtifactCollection:source_collectionプロパティの値。
property Artifact.source_entity
元となるアーティファクトのエンティティ名。 戻り値:str:source_entityプロパティの値。
property Artifact.source_name
ソースアーティファクトの名前とバージョン。{source_collection}:{alias} という形式の文字列。アーティファクトが保存される前は、バージョンがまだ不明なため、名前のみを含みます。
戻り値:
str: source_name プロパティの値。
property Artifact.source_project
元のアーティファクトのプロジェクト名。 戻り値:str: source_project プロパティの値。
property Artifact.source_qualified_name
ソースアーティファクトの source_entity/source_project/source_name を示します。 戻り値:str: source_qualified_name プロパティの値。
property Artifact.source_version
元となるアーティファクトのバージョン。v{number} 形式の文字列。
戻り値:
str:source_versionプロパティの値。
property Artifact.state
アーティファクトの状態。"PENDING"、"COMMITTED"、"DELETED" のいずれかです。
戻り値:
str:stateプロパティの値。
property Artifact.tags
このアーティファクトバージョンに割り当てられている 1 つ以上のタグのリスト。 戻り値:list[str]:tagsプロパティの値。
property Artifact.ttl
アーティファクトの Time-to-Live (TTL) ポリシー。 TTL ポリシーの期間を過ぎると、アーティファクトはまもなく削除されます。None に設定すると、そのアーティファクトでは TTL ポリシーが無効化され、チームのデフォルト TTL が存在する場合でも削除対象にはなりません。チーム管理者がデフォルト TTL を定義しており、かつアーティファクトにカスタムポリシーが設定されていない場合、アーティファクトはチームのデフォルト TTL ポリシーを継承します。
Raises:
ArtifactNotLoggedError: アーティファクトがログまたは保存されていない場合、継承された TTL を取得できません。
timedelta | None:ttlプロパティの値。
property Artifact.type
アーティファクトのタイプ。一般的なタイプとしてはdataset や model があります。
戻り値:
str: type プロパティの値。
property Artifact.updated_at
アーティファクトが最後に更新された時刻です。 戻り値:str: updated_at プロパティの値。
property Artifact.url
アーティファクトの URL を構築します。 戻り値:str: アーティファクトの URL。
str: url プロパティの値。
property Artifact.use_as
非推奨です。 戻り値:str | None: use_as プロパティの値。
property Artifact.version
アーティファクトのバージョン。v{number} という形式の文字列です。リンクアーティファクトである場合は、バージョンはリンク先コレクションのものになります。
戻り値:
str: version プロパティの値。
メソッド Artifact.add
obj をアーティファクトに追加します。
引数:
obj: 追加するオブジェクト。現在サポートされているのは、Bokeh、JoinedTable、PartitionedTable、Table、Classes、ImageMask、BoundingBoxes2D、Audio、Image、Video、Html、Object3D のいずれかです。name: オブジェクトを追加する先のアーティファクト内でのパス。overwrite: True の場合、該当する場合には同じファイルパスを持つ既存のオブジェクトを上書きします。
ArtifactFinalizedError: 現在のアーティファクトバージョンは確定済みのため、変更を加えることはできません。代わりに新しいアーティファクトバージョンをログとして記録してください。
メソッド Artifact.add_dir
local_path: ローカルディレクトリへのパス。name: アーティファクト内のサブディレクトリ名。指定した名前は、W&B App UI ではアーティファクトのtypeごとにネストされた形で表示されます。指定しない場合はアーティファクトのルートになります。skip_cache:Trueに設定すると、アップロード中に W&B はファイルをキャッシュにコピー/移動しません。policy: 既定値は “mutable”。- mutable: アップロード中の破損を防ぐため、一時的なコピーを作成します。
- immutable: 保護を無効にし、ユーザーがファイルを削除または変更しないことに依存します。
merge:False(デフォルト)の場合、以前のadd_dir呼び出しですでに追加されたファイルの内容が変更されているとValueErrorを送出します。Trueの場合、変更された内容で既存ファイルを上書きします。常に新しいファイルを追加し、ファイルを削除することはありません。ディレクトリ全体を置き換えるには、add_dir(local_path, name=my_prefix)のようにディレクトリ追加時にnameを渡し、その後remove(my_prefix)を呼び出してディレクトリを削除し、再度追加してください。
ArtifactFinalizedError: 現在のアーティファクトバージョンは確定済みのため、変更できません。代わりに新しいアーティファクトバージョンをログしてください。ValueError: policy は “mutable” または “immutable” でなければなりません。
method Artifact.add_file
local_path: 追加するファイルへのパス。name: 追加するファイルに対してアーティファクト内で使用するパス。デフォルトはファイルのベース名です。is_tmp:Trueの場合、衝突を避けるためにファイル名を決定論的な規則に基づいて変更します。skip_cache:Trueの場合、アップロード後にファイルをキャッシュへコピーしません。policy: デフォルトは “mutable”。“mutable” の場合、アップロード中の破損を防ぐためにファイルの一時コピーを作成します。“immutable” の場合、保護を無効にし、ユーザーがファイルを削除または変更しないことに依存します。overwrite:Trueの場合、すでにファイルが存在していても上書きします。
ArtifactFinalizedError: 現在のアーティファクトバージョンは確定済みのため変更できません。代わりに新しいアーティファクトバージョンをログしてください。ValueError:policyは “mutable” または “immutable” でなければなりません
メソッド Artifact.add_reference
- http(s): ファイルのサイズとダイジェストは、サーバーが返す
Content-LengthとETagレスポンスヘッダーから推測されます。 - s3: チェックサムとサイズはオブジェクトメタデータから取得されます。バケットのバージョニングが有効な場合は、バージョン ID も追跡されます。
- gs: チェックサムとサイズはオブジェクトメタデータから取得されます。バケットのバージョニングが有効な場合は、バージョン ID も追跡されます。
- https, ドメインが
*.blob.core.windows.netにマッチするもの - Azure: チェックサムとサイズは BLOB メタデータから取得されます。ストレージアカウントのバージョニングが有効な場合は、バージョン ID も追跡されます。
- file: チェックサムとサイズはファイルシステムから取得されます。このスキームは、NFS 共有やその他の外部マウントボリューム上に、アップロードはせずに追跡だけ行いたいファイルがある場合に有用です。
uri: 追加する参照の URI パス。URI パスには、Artifact.get_entryから返されるオブジェクトを指定して、別のアーティファクトのエントリへの参照を保存できます。name: この参照の内容を配置するアーティファクト内のパス。checksum: 参照 URI 上のリソースをチェックサムするかどうか。チェックサムを有効にすることで自動的な整合性検証が可能になるため、強く推奨されます。チェックサムを無効にするとアーティファクトの作成は高速になりますが、参照ディレクトリは走査されないため、そのディレクトリ内のオブジェクトはアーティファクトに保存されません。参照オブジェクトを追加する場合はchecksum=Falseを設定することを推奨します。この場合、新しいバージョンは参照 URI が変更されたときにのみ作成されます。max_objects: ディレクトリまたはバケットストアのプレフィックスを指す参照を追加する際に考慮するオブジェクトの最大数。デフォルトでは、Amazon S3、GCS、Azure、およびローカルファイルで許可されるオブジェクトの最大数は 10,000,000 です。その他の URI スキームには上限はありません。
ArtifactFinalizedError: 現在のアーティファクトバージョンは確定済みのため、変更を加えることはできません。代わりに新しいアーティファクトバージョンをログしてください。
メソッド Artifact.checkout
root 内の、アーティファクトに含まれていないすべてのファイルは削除されます。
引数:
root: このアーティファクトのファイルで置き換えるディレクトリ。
ArtifactNotLoggedError: アーティファクトがログに記録されていない場合。
メソッド Artifact.delete
Artifact.delete() ではなく Artifact.unlink() を使用します。
引数:
delete_aliases:Trueに設定すると、そのアーティファクトに関連付けられているすべてのエイリアスを削除します。Falseの場合、アーティファクトに既存のエイリアスがあるときは例外をスローします。アーティファクトがリンク先のコレクションから取得されている場合、このパラメータは無視されます。
ArtifactNotLoggedError: アーティファクトがログされていない場合。
メソッド Artifact.download
root 内に存在する既存ファイルは変更されません。root の内容をアーティファクトと完全に一致させたい場合は、download を呼び出す前に root を明示的に削除してください。
引数:
root: W&B がアーティファクトのファイルを保存するディレクトリ。allow_missing_references:Trueに設定すると、参照ファイルをダウンロードする際に、無効な参照パスは無視されます。skip_cache:Trueに設定すると、アーティファクトキャッシュをスキップし、ダウンロード時に各ファイルをデフォルトのルートまたは指定したダウンロードディレクトリに直接ダウンロードします。path_prefix: 指定された場合、パスの先頭がこのプレフィックスで始まるファイルのみがダウンロードされます。Unix 形式(フォワードスラッシュ)を使用します。multipart:None(デフォルト)に設定すると、個々のファイルサイズが 2GB を超える場合に、マルチパートダウンロードを使用して並列にアーティファクトをダウンロードします。TrueまたはFalseに設定した場合、ファイルサイズに関係なく、それぞれ並列または逐次でアーティファクトをダウンロードします。
ArtifactNotLoggedError: アーティファクトがログされていない場合。
method Artifact.file
root で指定したディレクトリに、単一ファイルのみを含むアーティファクトをダウンロードします。
Args:
root: ファイルを保存するルートディレクトリ。デフォルトは./artifacts/self.name/です。
ArtifactNotLoggedError: アーティファクトがログされていない場合。ValueError: アーティファクトに複数のファイルが含まれている場合。
メソッド Artifact.files
names: 一覧表示したいファイルのパス。アーティファクトのルートからの相対パス。per_page: リクエストごとに返すファイル数。
File オブジェクトを含むイテレータ。
例外:
ArtifactNotLoggedError: アーティファクトがログされていない場合に送出されます。
メソッド Artifact.finalize
log_artifact でアーティファクトをログすると、アーティファクトは自動的に確定されます。
メソッド Artifact.get
name にある WBValue オブジェクトを取得します。
引数:
name: 取得するアーティファクト内での相対パス名。
run.log() でログに記録でき、W&B UI で可視化できる W&B オブジェクト。
例外:
ArtifactNotLoggedError: アーティファクトがログされていない場合、または run がオフラインの場合にスローされます。
method Artifact.get_added_local_path_name
local_path: アーティファクト相対名に解決するローカルパス。
メソッド Artifact.get_entry
name: 取得するエントリの、アーティファクト内での相対パス名
W&B オブジェクト。
送出される例外:
ArtifactNotLoggedError: アーティファクトがログされていない、または run がオフラインの場合。KeyError: アーティファクトに指定された名前のエントリが含まれていない場合。
メソッド Artifact.get_path
get_entry(name) を使用してください。
メソッド Artifact.is_draft
False、保存されていない場合は True。
メソッド Artifact.json_encode
string をキーに持つ dict。
method Artifact.link
target_path: コレクションのパス。wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}という形式で、接頭辞"wandb-registry-"にレジストリ名とコレクション名を組み合わせたものです。aliases: リンクされたアーティファクトに 1 つ以上のエイリアスを追加します。"latest"エイリアスは、リンクした最新のアーティファクトに自動的に適用されます。
ArtifactNotLoggedError: アーティファクトがログされていない場合に送出されます。
method Artifact.logged_by
ArtifactNotLoggedError: アーティファクトがログされていない場合に送出されます。
メソッド Artifact.new_draft
Artifact オブジェクト。
例外:
ArtifactNotLoggedError: アーティファクトがログされていない場合に送出されます。
メソッド Artifact.new_file
name: アーティファクトに追加する新しいファイルの名前。mode: 新しいファイルを開く際に使用するファイルアクセスモード。encoding: 新しいファイルを開く際に使用するエンコーディング。
ArtifactFinalizedError: 現在のアーティファクトバージョンは finalize 済みのため変更できません。代わりに新しいアーティファクトバージョンをログしてください。
メソッド Artifact.remove
item: 削除するアイテム。特定のマニフェストエントリ、またはアーティファクト内の相対パス名を指定できます。itemがディレクトリに一致する場合、そのディレクトリ内のすべてのアイテムが削除されます。
ArtifactFinalizedError: 現在のアーティファクトバージョンは確定済みのため、変更できません。代わりに新しいアーティファクトバージョンをログしてください。FileNotFoundError:itemがアーティファクト内に存在しない場合。
メソッド Artifact.save
project: run がまだコンテキストに存在しない場合に、このアーティファクトに使用するプロジェクト。settings: 自動 run を初期化する際に使用する settings オブジェクト。最も一般的にはテストハーネスで使用されます。
method Artifact.unlink
ArtifactNotLoggedError: アーティファクトがログされていない場合にスローされます。ValueError: アーティファクトがどのコレクションにもリンクされていない場合にスローされます。
method Artifact.used_by
Run オブジェクトのリスト。
例外:
ArtifactNotLoggedError: アーティファクトがログとして記録されていない場合に発生します。
method Artifact.verify
root: 検証するディレクトリ。None の場合は、アーティファクトが ’./artifacts/self.name/’ にダウンロードされます。
ArtifactNotLoggedError: アーティファクトがログされていない場合。ValueError: 検証に失敗した場合。
method Artifact.wait
timeout: 待機する時間(秒)。
Artifact オブジェクト。