アーティファクトデータ保持の管理
2 minute read
W&B の Artifacts のタイム・トゥ・リブ(TTL)ポリシーを使用して、Artifacts が W&B から削除されるスケジュールを設定します。Artifact を削除すると、W&B はそのアーティファクトを ソフト削除 としてマークします。つまり、アーティファクトは削除対象としてマークされますが、ファイルはすぐにストレージから削除されるわけではありません。W&B がアーティファクトを削除する方法の詳細については、アーティファクトを削除ページを参照してください。
W&B アプリで Artifacts TTL を使って データ保持を管理する方法を学ぶには、この ビデオチュートリアルをご覧ください。
- チームの設定](/ja/guides/models/app/settings-page/team-settings/)と、(1) TTL ポリシーを設定または編集できる人を許可するか、(2) チームのデフォルト TTL を設定するかなどのチームレベルの TTL 設定は、チーム管理者のみが表示およびアクセスできます。
- W&B アプリ UI のアーティファクトの詳細に TTL ポリシーを設定または編集するオプションが表示されない場合、またはプログラムで TTL を設定してもアーティファクトの TTL プロパティが正常に変更されない場合は、チーム管理者が権限を付与していません。
自動生成された Artifacts
ユーザー生成のアーティファクトのみが TTL ポリシーを使用できます。W&B によって自動生成されたアーティファクトには TTL ポリシーを設定することはできません。
自動生成されたアーティファクトを示すアーティファクトタイプは次のとおりです:
run_table
code
job
wandb-*
で始まる種類のアーティファクト
アーティファクトの種類は、W&B プラットフォームまたはプログラムで確認できます:
import wandb
run = wandb.init(project="<my-project-name>")
artifact = run.use_artifact(artifact_or_name="<my-artifact-name>")
print(artifact.type)
含まれる <>
で囲まれた値をあなたのものに置き換えてください。
TTL ポリシーを編集および設定できる人を定義する
チーム内で TTL ポリシーを設定および編集できる人を定義します。TTL 許可をチーム管理者のみに与えることもできますし、チーム管理者とチームメンバーの両方に TTL 許可を与えることもできます。
- チームのプロフィールページに移動します。
- 設定 タブを選択します。
- Artifacts のタイム・トゥ・リブ (TTL) セクションに移動します。
- TTL 許可のドロップダウンから、TTL ポリシーを設定および編集できる人を選択します。
- 設定をレビューして保存をクリックします。
- 変更を確認し、設定を保存を選択します。

TTL ポリシーを作成する
アーティファクトを作成するとき、または作成後に TTL ポリシーを設定します。
以下のコードスニペットすべてにおいて、 <>
で包まれた内容をあなたの情報に置き換えてコードスニペットを使用してください。
アーティファクト作成時に TTL ポリシーを設定する
W&B Python SDK を使用してアーティファクトを作成する際に TTL ポリシーを定義します。TTL ポリシーは通常日数で定義されます。
ttl
属性に時間差を渡す点です。手順は次のとおりです:
- アーティファクトを作成します。
- ファイル、ディレクトリ、または参照など、アーティファクトにコンテンツを追加します。
- Python の標準ライブラリの一部である
datetime.timedelta
データ型で TTL の期限を定義します。 - アーティファクトをログします。
以下のコードスニペットはアーティファクトを作成し、TTL ポリシーを設定する方法を示しています。
import wandb
from datetime import timedelta
run = wandb.init(project="<my-project-name>", entity="<my-entity>")
artifact = wandb.Artifact(name="<artifact-name>", type="<type>")
artifact.add_file("<my_file>")
artifact.ttl = timedelta(days=30) # TTL ポリシーを設定
run.log_artifact(artifact)
上記のコードスニペットは、アーティファクトの TTL ポリシーを 30 日間に設定します。つまり、W&B は 30 日後にアーティファクトを削除します。
アーティファクト作成後に TTL ポリシーを設定または編集する
存在するアーティファクトに対して W&B アプリの UI または W&B Python SDK を使用して TTL ポリシーを定義します。
createdAt
タイムスタンプ) を基に計算されます。- あなたのアーティファクトを取得します。
- アーティファクトの
ttl
属性に時間差を渡します。 save
メソッドでアーティファクトを更新します。
以下のコードスニペットは、アーティファクトに TTL ポリシーを設定する方法を示しています:
import wandb
from datetime import timedelta
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = timedelta(days=365 * 2) # 2年後に削除
artifact.save()
上記のコード例では、TTL ポリシーを2年間に設定します。
- W&B アプリ UI の W&B プロジェクトに移動します。
- 左のパネルでアーティファクトアイコンを選択します。
- アーティファクトの一覧からアーティファクトタイプを展開します。
- TTL ポリシーを編集したいアーティファクトバージョンを選択します。
- バージョン タブをクリックします。
- ドロップダウンから TTL ポリシー編集 を選択します。
- 表示されるモーダル内で、TTL ポリシードロップダウンから カスタム を選択します。
- TTL 期間フィールドで、日数単位で TTL ポリシーを設定します。
- TTL 更新 ボタンを選択して変更を保存します。

チームのデフォルト TTL ポリシーを設定する
チームのデフォルト TTL ポリシーを設定します。デフォルトの TTL ポリシーは、既存と今後のアーティファクトすべてに、その作成日を基に適用されます。バージョンレベルで既に TTL ポリシーが存在するアーティファクトは、チームのデフォルト TTL に影響を受けません。
- チームのプロフィールページに移動します。
- 設定 タブを選択します。
- Artifacts のタイム・トゥ・リブ (TTL) セクションに移動します。
- チームのデフォルト TTL ポリシー設定 をクリックします。
- 期間フィールドにおいて、日数単位で TTL ポリシーを設定します。
- 設定をレビューして保存 をクリックします。
- 変更を確認し、設定を保存 を選択します。

run 外で TTL ポリシーを設定する
公開 API を使って run を取得せずにアーティファクトを取得し、TTL ポリシーを設定します。TTL ポリシーは通常日数単位で定義されます。
以下のコードサンプルは、公開 API を使用してアーティファクトを取得し、TTL ポリシーを設定する方法を示しています。
api = wandb.Api()
artifact = api.artifact("entity/project/artifact:alias")
artifact.ttl = timedelta(days=365) # 1年後削除
artifact.save()
TTL ポリシーを非アクティブにする
W&B Python SDK または W&B アプリ UI を使用して、特定のアーティファクトバージョンの TTL ポリシーを非アクティブにします。
- あなたのアーティファクトを取得します。
- アーティファクトの
ttl
属性をNone
に設定します。 save
メソッドでアーティファクトを更新します。
以下のコードスニペットは、アーティファクトに対する TTL ポリシーをオフにする方法を示しています:
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
artifact.ttl = None
artifact.save()
- W&B アプリ UI の W&B プロジェクトに移動します。
- 左パネルでアーティファクトアイコンを選択します。
- アーティファクトのリストからアーティファクトタイプを展開します。
- TTL ポリシーを編集したいアーティファクトバージョンを選択します。
- バージョンタブをクリックします。
- リンク先レジストリ ボタンの隣にある肉球 UI アイコンをクリックします。
- ドロップダウンから TTL ポリシー編集 を選択します。
- 表示されるモーダル内で、TTL ポリシードロップダウンから 非アクティブ を選択します。
- 変更を保存するために TTL 更新 ボタンを選択します。

TTL ポリシーを確認する
W&B Python SDK または W&B アプリ UI を使用して、アーティファクトの TTL ポリシーを確認します。
print 文を使用してアーティファクトの TTL ポリシーを表示します。以下の例では、アーティファクトを取得してその TTL ポリシーを表示する方法を示しています:
artifact = run.use_artifact("<my-entity/my-project/my-artifact:alias>")
print(artifact.ttl)
W&B アプリ UI を使用してアーティファクトの TTL ポリシーを表示します。
- W&B アプリの https://wandb.ai に移動します。
- あなたの W&B プロジェクトに移動します。
- プロジェクト内で、左のサイドバーの Artifacts タブを選択します。
- コレクションをクリックします。
選択されたコレクション内のすべてのアーティファクトが表示されます。Time to Live
列にそのアーティファクトに割り当てられた TTL ポリシーが表示されます。

[i18n] feedback_title
[i18n] feedback_question
Glad to hear it! If you have further feedback, please let us know.
Sorry to hear that. Please tell us how we can improve.