アーティファクト 内のファイルの一部に変更を適用する必要があり、元のアーティファクトのサイズが大幅に大きい場合は、段階的アーティファクトを作成することをお勧めします。
ゼロから新しいアーティファクトバージョンを作成する
- Single run: 1 つの run が、新しいバージョンに必要なすべてのデータを提供します。これは最も一般的なケースで、run によって必要なデータを完全に再生成できる場合に最適です。たとえば、保存済みモデルを出力したり、分析用の表にモデルの予測を出力したりする場合です。
- 分散 run: 複数の runs がまとまって、新しいバージョンに必要なすべてのデータを提供します。これは、複数の runs がしばしば並列にデータを生成する分散ジョブに最適です。たとえば、モデルを分散方式で評価し、予測を出力する場合です。
wandb.Artifact API に、project 内に存在しない名を渡すと、W&B は新しいアーティファクトを作成し、v0 alias を割り当てます。W&B は、同じアーティファクトに再度ログするときに内容のチェックサムを計算します。アーティファクトが変更されている場合、W&B は新しいバージョン v1 を保存します。
wandb.Artifact API に、project 内の既存のアーティファクトと一致する名とアーティファクトタイプを渡すと、W&B は既存のアーティファクトを取得します。取得されたアーティファクトのバージョンは 1 より大きくなります。

Single run
- run 内
- run 外
W&B run 内で アーティファクト バージョンを作成します。
wandb.init()で run を作成します。wandb.Artifactを使用して、新しい アーティファクト を作成するか、既存の アーティファクト を取得します。.add_fileで アーティファクト にファイルを追加します。.log_artifactで アーティファクト を run にログします。
分散 run
- コレクション内の各 run は、同じバージョンで共同作業するために、同じ一意の ID (
distributed_id) を認識している必要があります。デフォルトでは、存在する場合、W&B はwandb.init(group=GROUP)で設定された run のgroupをdistributed_idとして使用します。 - バージョンを「コミット」してその状態を永続的にロックするための、最後の run が必要です。
- 共同の アーティファクト に追加するには
upsert_artifactを使用し、コミットを完了するにはfinish_artifactを使用します。
upsert_artifact を使用して、それぞれ異なる画像ファイルを同じ アーティファクト に追加します。
Run 1
Run 2
Run 3
wandb.Run.finish_artifact() を呼び出す run では、アーティファクト にファイルを含めることもできますが、必須ではありません。
既存のバージョンから新しい artifact バージョンを作成する

- add: 新しいバッチを収集するたびに、新しいファイルのサブセットをデータセットに追加します。
- remove: 重複するファイルが複数見つかり、それらをArtifactから削除したい場合。
- update: 一部のファイルのアノテーションを修正し、古いファイルを正しいファイルに置き換えたい場合。
single run 内、または複数の run (分散モード) で、段階的な artifact を作成できます。
- 段階的な変更を加える対象の Artifact バージョンを取得します。
- run 内
- run の外
- 以下を使用してドラフトを作成します:
- 次のバージョンに反映したい変更を段階的に行います。エントリは、追加、削除、または既存のエントリの変更が可能です。
- 追加
- 削除
- 変更
add_file メソッドを使用して、既存の artifact バージョンにファイルを追加します。add_dir メソッドでディレクトリを追加すると、複数のファイルをまとめて追加することもできます。- 最後に、変更をログするか保存してください。以下のタブでは、W&B run の内外で変更を保存する方法を示しています。ご利用のケースに適したタブを選択してください。
- run 内
- run 外
- run 内
- run 外