class wandb.Artifact
add で始まる method を使って Artifact の内容を
追加します。必要なファイルをすべて Artifact に追加したら、
run.log_artifact() を呼び出してログします。
引数
name: artifact の人間が読み取れる名前です。この名前を使うと、W&B App UI 上またはプログラムから特定の artifact を識別できます。use_artifactPublic API を使えば、artifact をインタラクティブに参照することもできます。名前には、英字、数字、アンダースコア、ハイフン、ドットを使用できます。名前はプロジェクト内で一意である必要があります。type: artifact のタイプです。artifact のタイプは、Artifacts を整理し、相互に区別するために使用します。英字、数字、アンダースコア、ハイフン、ドットを含む任意の文字列を使用できます。一般的なタイプにはdatasetやmodelがあります。artifact を W&B Model Registry にリンクしたい場合は、タイプ文字列にmodelを含めてください。なお、一部のタイプは内部使用のために予約されており、ユーザーは設定できません。これにはjobやwandb-で始まるタイプが含まれます。description: artifact の説明です。Model または Dataset Artifacts の場合は、標準化されたチームのモデルカードまたはデータセットカード用のドキュメントを追加します。artifact の説明は、Artifact.description属性を使ってプログラムから確認することも、W&B App UI で確認することもできます。W&B App では、説明は markdown として表示されます。metadata: artifact に関する追加情報です。metadata はキーと値のペアからなる辞書として指定します。指定できるキーの総数は 100 個までです。incremental: 既存の artifact を変更するには、代わりにArtifact.new_draft()method を使用してください。use_as: 非推奨。storage_region:
プロパティ
property aliases
アーティファクトバージョンに割り当てられた、意味が分かりやすい参照名または識別用の「ニックネーム」の一覧。1 つ以上設定できます。 エイリアスは、プログラムから参照できる変更可能な参照です。 アーティファクトのエイリアスは、W&B App UI またはプログラムから変更できます。 詳しくは、Create new artifact versions を参照してください。プロパティ collection
この artifact を取得したコレクション。 コレクションは、順序付けられた artifact バージョンのグループです。この artifact がリンク先のコレクションから取得された場合は、そのコレクションを返します。そうでない場合は、その artifact バージョンの元のコレクションを返します。 artifact の元のコレクションは、ソースシーケンスと呼ばれます。プロパティ commit_hash
この Artifact のコミット時に返されるハッシュ値。プロパティ created_at
artifact が作成された日時。property 説明
Artifact の説明。プロパティ digest
artifact の論理ダイジェスト。 ダイジェストは artifact の内容を表すチェックサムです。artifact のダイジェストが現在のlatest バージョンと同じ場合、log_artifact は何もしません。
property entity
artifact collection が属する entity の名。 artifact が link の場合、entity はリンク先の artifact の entity になります。プロパティ file_count
ファイル数 (参照を含む) 。プロパティ history_step
このartifactのソース run で history メトリクスがログされた、最も近い step。プロパティ id
artifact の ID。プロパティ is_link
artifact がリンクアーティファクトかどうかを示すブールフラグです。 True: artifact はソースアーティファクトへのリンクアーティファクトです。 False: artifact はソースアーティファクトです。プロパティ linked_artifacts
ソース Artifact にリンクされているすべての Artifact の一覧を返します。 この Artifact がリンク Artifact (artifact.is_link == True) の場合は、空の一覧を返します。
結果は 500 件までに制限されます。
property manifest
Artifact のマニフェスト。 マニフェストにはその内容がすべて一覧表示され、Artifact がログされると変更できません。プロパティ metadata
ユーザー定義のartifactメタデータ。 artifactに関連付けられた構造化データ。プロパティ 名
artifact の名とバージョンです。{collection}:{alias} 形式の文字列です。artifact がログまたは保存される前に取得した場合、名には alias は含まれません。artifact がリンクの場合、名はリンク先の artifact の名になります。
プロパティ project
artifact collection が属するプロジェクトの名。 artifact が link の場合、プロジェクトはリンク先の artifact のプロジェクトになります。プロパティ qualified_name
artifact の entity/プロジェクト/名です。 artifact がリンクの場合、qualified name はリンク先の artifact パスの qualified name になります。プロパティ size
Artifact の合計サイズ (バイト単位) 。 この Artifact がトラッキングしている参照も含まれます。プロパティ source_artifact
元のログ済み artifact であるソース artifact を返します。 この artifact がソース artifact (artifact.is_link == False) の場合は、自身を返します。
プロパティ source_collection
Artifact のソース collection。 ソース collection は、Artifact がログされた元の collection です。プロパティ source_entity
ソースartifactのentity名。プロパティ source_name
ソース artifact の artifact 名とバージョン。{source_collection}:{alias} 形式の文字列です。artifact が保存される前は、バージョンがまだ確定していないため、名前のみが含まれます。
プロパティ source_project
ソース Artifact のプロジェクト名。property source_qualified_name
元のartifactの source_entity/source_project/source_name。プロパティ source_version
ソース artifact のバージョン。v{number} 形式の文字列。
プロパティ state
Artifact のステータスです。次のいずれかになります: “PENDING”、“COMMITTED”、または “DELETED”。プロパティ tags
このアーティファクトのバージョンに割り当てられた、1 つ以上のタグのリスト。プロパティ ttl
artifact の time-to-live (TTL) ポリシー。 TTL ポリシーの期間を過ぎると、Artifacts はその後まもなく削除されます。None に設定すると、その artifact では TTL ポリシーが無効になり、チームのデフォルト TTL が存在していても削除対象としてスケジュールされません。チーム管理者がデフォルト TTL を定義しており、artifact にカスタムポリシーが設定されていない場合、artifact はチームのデフォルトの TTL ポリシーを継承します。
プロパティ type
Artifact のタイプです。一般的なタイプにはdataset や model などがあります。
プロパティ updated_at
Artifact が最後に更新された日時です。プロパティ url
アーティファクトのURLを生成します。プロパティ use_as
非推奨。プロパティ version
Artifact のバージョン。v{number} 形式の文字列です。link artifact の場合、バージョンはリンク先の collection のものになります。
メソッド
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の場合、ファイルがすでに存在していれば上書きします。
Raises
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: 現在の artifact バージョンは確定済みのため、変更できません。代わりに新しい artifact バージョンをログしてください。
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: 一覧取得する対象の、アーティファクト のルートからの相対ファイルパス。per_page: リクエストごとに返すファイル数。start: 過去のクエリを再開するためのページネーションカーソル。前回の paginator の.cursor属性から取得します。
例外
ArtifactNotLoggedError: artifact がログされていない場合。
method Artifact.finalize()
log_artifact
でログすると自動的に自動確定されます。
method Artifact.get()
name にある WBValue object を取得します。
引数
name: 取得する artifact 内の相対パス名。
発生する例外
ArtifactNotLoggedError: artifact がログされていない場合、または run がオフラインの場合。
method Artifact.get_added_local_path_name()
引数
local_path: artifact 相対名に変換するローカルパス。
method Artifact.get_entry()
引数
name: 取得する artifact の相対名
発生する例外
ArtifactNotLoggedError: artifact がログされていない場合、または run がオフラインの場合。KeyError: artifact に指定した名のエントリが含まれていない場合。
method Artifact.get_path()
get_entry(name) を使用してください。
引数
name:
method Artifact.is_draft()
method Artifact.json_encode()
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()
例外
ArtifactNotLoggedError: artifact がログされていない場合。
method Artifact.new_file()
引数
name: アーティファクト に追加する新しいファイルの名。mode: 新しいファイルを開くときに使用するファイルアクセスモード。encoding: 新しいファイルを開くときに使用するエンコーディング。
例外
ArtifactFinalizedError: 現在の artifact バージョンは確定済みのため、変更できません。代わりに新しい artifact バージョンをログしてください。
method Artifact.remove()
引数
item: 削除する項目です。特定の manifest エントリ、または artifact 相対パスの名を指定できます。itemがディレクトリに一致する場合、そのディレクトリ内のすべての項目が削除されます。
Raises
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()
例外
ArtifactNotLoggedError: artifact がログされていない場合。
method Artifact.verify()
引数
root: 検証するディレクトリです。None の場合、アーティファクトは ’./artifacts/self.name/’ にダウンロードされます。
発生する例外
ArtifactNotLoggedError: アーティファクトがログされていない場合。ValueError: 検証に失敗した場合。
method Artifact.wait()
引数
timeout: 待機する時間 (秒) 。