メインコンテンツへスキップ
W&B App を使ってインタラクティブに、または W&B Python SDK を使ってプログラムから アーティファクト を削除できます。アーティファクト を削除すると、W&B はその アーティファクト を ソフト削除 としてマークします。つまり、アーティファクト は削除対象としてマークされますが、ファイルが storage からすぐに削除されるわけではありません。 アーティファクト の内容は、定期的に実行されるガベージコレクションプロセスが、削除対象としてマークされたすべての アーティファクト を確認するまで、ソフト削除、つまり削除保留の状態で保持されます。ガベージコレクションプロセスは、その アーティファクト と関連ファイルが以前または後続の アーティファクトバージョン で使用されていない場合、関連ファイルを storage から削除します.
ガベージコレクションは ベストエフォート です。アーティファクト を削除したあと、解放された容量がオブジェクトストレージにどのくらい早く反映されるかについて、W&B は保証しません。大規模な deployment やバックログがある場合は、想定より時間がかかることがあります。これが run データ、保持設定、およびオペレーターによる任意の操作とどのように関係するかについては、バケット storage とコストを管理する を参照してください。

アーティファクトのガベージコレクションのワークフロー

次の図は、アーティファクトのガベージコレクションのプロセス全体を示しています。 TTL ポリシーを使用すると、W&B でアーティファクトが削除されるタイミングを設定できます。詳細は、Artifact TTL ポリシーでデータ保持を管理するを参照してください。
TTL ポリシー、W&B Python SDK、または W&B App によって削除されたアーティファクトは、まずソフト削除されます。その後、ソフト削除されたアーティファクトは、完全に削除される前にガベージコレクションされます。
entity、プロジェクト、またはアーティファクトコレクションを削除すると、このページで説明しているアーティファクト削除プロセスが開始されます。run を削除する際に関連するアーティファクトも削除するよう選択した場合、それらのアーティファクトも同じソフト削除とガベージコレクションのワークフローに従います。

アーティファクトバージョンを削除する

W&B App を使用してインタラクティブに アーティファクトバージョンを削除することも、W&B Python SDK を使用してプログラムで削除することもできます。
アーティファクトバージョンを削除するには、次の手順に従います。
  1. 削除する アーティファクトバージョンが含まれているプロジェクトにアクセスします。
  2. Artifacts タブを選択します。
  3. アーティファクト タイプの一覧から、削除するバージョンが含まれている アーティファクト のタイプを選択します。
  4. 削除する アーティファクトバージョンの横にある action () メニューをクリックします。
  5. ドロップダウンから Delete Version を選択します。

複数のアーティファクトバージョンを削除する

次のコード例は、複数のアーティファクトバージョンを削除する方法を示しています。アーティファクトを作成した entity、プロジェクト名、run ID を wandb.Api.run() の引数として指定します。これにより run オブジェクトが返され、その run で作成されたすべてのアーティファクトバージョンにアクセスできます。次に、アーティファクトバージョンを順に処理し、条件に一致するものを削除します。
アーティファクトバージョンと、それに関連付けられた エイリアス を削除するには、delete_aliases パラメーターを True (wandb.Artifact.delete(delete_aliases=True)) に設定します。
<entity><project><run_id><artifact_name> のプレースホルダーを実際の値に置き換えてください。
import wandb

# W&B APIを初期化する
api = wandb.Api()

# パスでrunを取得する。<entity>/<project>/<run_id>で構成される
run = api.run("<entity>/<project>/<run_id>")

# 削除するバージョンのartifact名を指定する
artifact_name = "<artifact_name>"

# 指定した名前のartifactバージョンを検索して削除する
for artifact in run.logged_artifacts():
    print(f"Found artifact: {artifact.name}") # 名前の例: run_4dfbufgq_model:v0
    # split()でバージョンを除いたartifact名のみを取得する
    if artifact.name.split(":")[0] == artifact_name:
        print(f"artifactバージョンを削除中: {artifact.name}")
        artifact.delete(delete_aliases=True)

特定の エイリアス を持つ複数の アーティファクトバージョン を削除する

次のコードは、特定の エイリアス を持つ複数の アーティファクトバージョン を削除する方法を示しています。 <entity><project><run_id><artifact_name><alias> のプレースホルダーを実際の値に置き換えてください。
import wandb

# W&B APIを初期化する
api = wandb.Api()

# パスでrunを取得する。<entity>/<project>/<run_id>で構成される
run = api.run("<entity>/<project>/<run_id>")

# バージョンを削除するartifactの名前を指定する
artifact_name = "<artifact_name>"

# 削除するartifactバージョンをフィルタリングするaliasを指定する
desired_alias = "<alias>"

# alias 'v3' および 'v4' でrunにログされたartifactを削除する
for artifact in run.logged_artifacts():
    print(f"Found artifact: {artifact.name}")
    if (artifact.name.split(":")[0] == artifact_name) and (desired_alias in artifact.aliases):
            artifact.delete(delete_aliases=True)

アーティファクト コレクション を削除する

アーティファクト コレクション を削除するには、次の手順に従います。
  1. 削除する アーティファクト コレクション にアクセスします。
  2. アーティファクト コレクション 名の横にある action () メニューを選択します。
  3. ドロップダウンメニューから Delete を選択します。

保護されたエイリアスと削除権限

保護されたエイリアスを持つArtifactsには、特別な削除制限があります。保護されたエイリアスは、W&B Registry で Registry 管理者が設定できるエイリアスで、許可されていない削除を防ぐために使用されます。
保護されたエイリアスに関する重要な注意事項:
  • 保護されたエイリアスを持つArtifactsは、Registry 管理者以外は削除できません。
  • レジストリ内では、Registry 管理者は保護されたアーティファクトバージョンのリンクを解除したり、保護されたエイリアスを含むcollectionやregistryを削除したりできます。
  • ソース アーティファクト について: ソース アーティファクト が保護されたエイリアスを持つレジストリにリンクされている場合、どのユーザーも削除できません。
  • Registry 管理者は、ソース アーティファクト から保護されたエイリアスを削除してから、その アーティファクト を削除できます。

W&B のホスティング形態に応じてガベージコレクションを有効にする

ガベージコレクションの実行タイミングは保証されません。詳細については、バケットストレージとコストを管理する を参照してください。
W&B Multi-tenant Cloud を使用している場合、ガベージコレクションはデフォルトで有効です。W&B Dedicated および Self-Managed では、ガベージコレクションを有効にするために、次の追加手順が必要になる場合があります。
  1. W&B Self-Managed: GORILLA_ARTIFACT_GC_ENABLED=true を設定します。
  2. Dedicated Cloud: ガベージコレクションが有効になっていることを確認するため、サポートにお問い合わせください。
  3. AWSGoogle Cloud、または Minio などのその他のストレージプロバイダを使用している場合は、バケットのバージョン管理を有効にします。Azure を使用している場合は、バケットのバージョン管理に相当する ソフト削除を有効にします
次の表は、デプロイタイプごとにガベージコレクションを有効にするための要件を示しています。 X は、その要件を満たす必要があることを示します。
環境変数バージョン管理を有効にする
Multi-tenant Cloud
Multi-tenant Cloud with BYOB storageX
Dedicated Cloud
Dedicated Cloud with BYOB storageX
セルフマネージドXX
note セキュアストレージコネクタは現在、Google Cloud Platform と Amazon Web Services でのみ使用できます。