タグを作成・追加することで、レジストリ内のコレクションや Artifacts のバージョンを整理できます。W&B App UI または W&B Python SDK を使用して、コレクションや Artifacts のバージョンに対してタグの追加、変更、表示、削除を行うことができます。
タグとエイリアスの使い分け特定の Artifacts バージョンを一意に参照する必要がある場合は、エイリアスを使用してください。例えば、artifact_name:alias が常に単一の特定のバージョンを指すようにするために、‘production’ や ‘latest’ といったエイリアスを使用します。グループ化や検索に柔軟性を持たせたい場合は、タグを使用してください。タグは、複数のバージョンやコレクションが同じラベルを共有する場合や、特定の識別子が 1 つのバージョンだけに紐付いている保証が必要ない場合に最適です。
コレクションにタグを追加する
W&B App UI または Python SDK を使用して、コレクションにタグを追加します。
W&B App UI を使用してコレクションにタグを追加する方法:
- W&B Registry に移動します。
- レジストリカードをクリックします。
- コレクション名の横にある View details をクリックします。
- コレクションカード内で、Tags フィールドの横にあるプラスアイコン (+) をクリックし、タグの名前を入力します。
- キーボードの Enter キーを押します。
import wandb
COLLECTION_TYPE = "<collection_type>"
REGISTRY_NAME = "<registry_name>"
COLLECTION_NAME = "<collection_name>"
full_name = f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}"
collection = wandb.Api().artifact_collection(
type_name = COLLECTION_TYPE,
name = full_name
)
collection.tags = ["your-tag"]
collection.save()
コレクションに属するタグを更新する
tags 属性を再代入または変更することで、プログラムからタグを更新できます。W&B では、Python の優れたプラクティスとして、インプレースでの変更(破壊的変更)ではなく、tags 属性を再代入することを推奨しています。
例えば、以下のコードスニペットは、再代入によるリスト更新の一般的な方法を示しています。簡潔にするため、コレクションにタグを追加するセクション からのコード例を継続しています。
collection.tags = [*collection.tags, "new-tag", "other-tag"]
collection.tags = collection.tags + ["new-tag", "other-tag"]
collection.tags = set(collection.tags) - set(tags_to_delete)
collection.tags = [] # すべてのタグを削除
以下のコードスニペットは、インプレースでの変更を使用して、Artifacts バージョンに属するタグを更新する方法を示しています。
collection.tags += ["new-tag", "other-tag"]
collection.tags.append("new-tag")
collection.tags.extend(["new-tag", "other-tag"])
collection.tags[:] = ["new-tag", "other-tag"]
collection.tags.remove("existing-tag")
collection.tags.pop()
collection.tags.clear()
コレクションに属するタグを表示する
W&B App UI を使用して、コレクションに追加されたタグを表示します。
- W&B Registry に移動します。
- レジストリカードをクリックします。
- コレクション名の横にある View details をクリックします。
コレクションに 1 つ以上のタグがある場合、コレクションカード内の Tags フィールドの横でそれらのタグを確認できます。
コレクションに追加されたタグは、そのコレクション名の横にも表示されます。
例えば、以下の画像では、“tag1” というタグが “zoo-dataset-tensors” コレクションに追加されています。
コレクションからタグを削除する
W&B App UI を使用して、コレクションからタグを削除します。
- W&B Registry に移動します。
- レジストリカードをクリックします。
- コレクション名の横にある View details をクリックします。
- コレクションカード内で、削除したいタグの名前にマウスを合わせます。
- キャンセルボタン(X アイコン)をクリックします。
Artifacts バージョンにタグを追加する
W&B App UI または Python SDK を使用して、コレクションにリンクされた Artifacts バージョンにタグを追加します。
- https://wandb.ai/registry の W&B Registry に移動します。
- レジストリカードをクリックします。
- タグを追加したいコレクション名の横にある View details をクリックします。
- Versions までスクロールします。
- Artifacts バージョンの横にある View をクリックします。
- Version タブ内で、Tags フィールドの横にあるプラスアイコン (+) をクリックし、タグの名前を入力します。
- キーボードの Enter キーを押します。
タグを追加または更新したい Artifacts バージョンを取得します。Artifacts バージョンを取得したら、Artifacts オブジェクトの tag 属性にアクセスして、その Artifacts にタグを追加または変更できます。Artifacts の tag 属性に 1 つ以上のタグをリストとして渡します。他の Artifacts と同様に、run を作成せずに W&B から Artifacts を取得することも、run を作成してその run 内で Artifacts を取得することもできます。いずれの場合も、W&B サーバー上の Artifacts を更新するために、Artifacts オブジェクトの save メソッドを必ず呼び出してください。以下の適切なコードセルをコピーして貼り付け、Artifacts バージョンのタグを追加または変更します。<> 内の値をご自身のものに置き換えてください。以下のコードスニペットは、新しい run を作成せずに Artifacts を取得してタグを追加する方法を示しています。新しい run を作成せずに Artifacts バージョンにタグを追加する
import wandb
ARTIFACT_TYPE = "<TYPE>"
REGISTRY_NAME = "<registry_name>"
COLLECTION_NAME = "<collection_name>"
VERSION = "<artifact_version>"
artifact_name = f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}:v{VERSION}"
artifact = wandb.Api().artifact(name = artifact_name, type = ARTIFACT_TYPE)
artifact.tags = ["tag2"] # 1つ以上のタグをリストで提供
artifact.save()
以下のコードスニペットは、新しい run を作成して Artifacts を取得し、タグを追加する方法を示しています。run の実行中に Artifacts バージョンにタグを追加する
import wandb
REGISTRY_NAME = "<registry_name>"
COLLECTION_NAME = "<collection_name>"
VERSION = "<artifact_version>"
with wandb.init(entity = "<entity>", project="<project>") as run:
artifact_name = f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}:v{VERSION}"
artifact = run.use_artifact(artifact_or_name = artifact_name)
artifact.tags = ["tag2"] # 1つ以上のタグをリストで提供
artifact.save()
Artifacts バージョンに属するタグを更新する
tags 属性を再代入または変更することで、プログラムからタグを更新できます。W&B では、Python の優れたプラクティスとして、インプレースでの変更ではなく、tags 属性を再代入することを推奨しています。
例えば、以下のコードスニペットは、再代入によるリスト更新の一般的な方法を示しています。簡潔にするため、Artifacts バージョンにタグを追加するセクション からのコード例を継続しています。
artifact.tags = [*artifact.tags, "new-tag", "other-tag"]
artifact.tags = artifact.tags + ["new-tag", "other-tag"]
artifact.tags = set(artifact.tags) - set(tags_to_delete)
artifact.tags = [] # すべてのタグを削除
以下のコードスニペットは、インプレースでの変更を使用して、Artifacts バージョンに属するタグを更新する方法を示しています。
artifact.tags += ["new-tag", "other-tag"]
artifact.tags.append("new-tag")
artifact.tags.extend(["new-tag", "other-tag"])
artifact.tags[:] = ["new-tag", "other-tag"]
artifact.tags.remove("existing-tag")
artifact.tags.pop()
artifact.tags.clear()
Artifacts バージョンに属するタグを表示する
W&B App UI または Python SDK を使用して、レジストリにリンクされている Artifacts バージョンに属するタグを表示します。
- W&B Registry に移動します。
- レジストリカードをクリックします。
- タグを追加したいコレクション名の横にある View details をクリックします。
- Versions セクションまでスクロールします。
Artifacts バージョンに 1 つ以上のタグがある場合、Tags 列でそれらのタグを確認できます。タグを表示するために Artifacts バージョンを取得します。Artifacts バージョンを取得したら、Artifacts オブジェクトの tag 属性を表示することで、その Artifacts に属するタグを確認できます。他の Artifacts と同様に、run を作成せずに W&B から Artifacts を取得することも、run を作成してその run 内で Artifacts を取得することもできます。以下の適切なコードセルをコピーして貼り付け、Artifacts バージョンのタグを追加または変更します。<> 内の値をご自身のものに置き換えてください。以下のコードスニペットは、新しい run を作成せずに Artifacts バージョンのタグを取得して表示する方法を示しています。新しい run を作成せずに Artifacts バージョンにタグを追加する
import wandb
ARTIFACT_TYPE = "<TYPE>"
REGISTRY_NAME = "<registry_name>"
COLLECTION_NAME = "<collection_name>"
VERSION = "<artifact_version>"
artifact_name = f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}:v{VERSION}"
artifact = wandb.Api().artifact(name = artifact_name, type = artifact_type)
print(artifact.tags)
以下のコードスニペットは、新しい run を作成して Artifacts バージョンのタグを取得し、表示する方法を示しています。run の実行中に Artifacts バージョンにタグを追加する
import wandb
REGISTRY_NAME = "<registry_name>"
COLLECTION_NAME = "<collection_name>"
VERSION = "<artifact_version>"
with wandb.init(entity = "<entity>", project="<project>") as run:
artifact_name = f"wandb-registry-{REGISTRY_NAME}/{COLLECTION_NAME}:v{VERSION}"
artifact = run.use_artifact(artifact_or_name = artifact_name)
print(artifact.tags)
Artifacts バージョンからタグを削除する
- W&B Registry に移動します。
- レジストリカードをクリックします。
- タグを追加したいコレクション名の横にある View details をクリックします。
- Versions までスクロールします。
- Artifacts バージョンの横にある View をクリックします。
- Version タブ内で、タグの名前にマウスを合わせます。
- キャンセルボタン(X アイコン)をクリックします。
既存のタグを検索する
W&B App UI を使用して、コレクションや Artifacts バージョン内の既存のタグを検索します。
- W&B Registry に移動します。
- レジストリカードをクリックします。
- 検索バー内にタグの名前を入力します。
特定のタグを持つ Artifacts バージョンを見つける
W&B Python SDK を使用して、特定のタグセットを持つ Artifacts バージョンを見つけます。
import wandb
api = wandb.Api()
tagged_artifact_versions = api.artifacts(
type_name = "<artifact_type>",
name = "<artifact_name>",
tags = ["<tag_1>", "<tag_2>"]
)
for artifact_version in tagged_artifact_versions:
print(artifact_version.tags)