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