メインコンテンツへスキップ
コレクションやアーティファクトバージョンをレジストリ内で整理するためにタグを作成し追加します。W&B アプリ UI または W&B Python SDK を使用して、コレクションまたはアーティファクトバージョンにタグを追加、変更、表示、削除できます。
エイリアスとタグの使い分け特定のアーティファクトバージョンを一意に参照する必要がある場合は、エイリアスを使用します。例えば、artifact_name:alias が常に単一で特定のバージョンを指すように、「production」や「latest」といったエイリアスを使用します。より自由にグループ化や検索をしたい場合は、タグを使用します。タグは複数のバージョンやコレクションが同じラベルを共有できるときに理想的で、特定の識別子に関連付けられるバージョンが一つだけである保証は必要ありません。

コレクションにタグを追加する

W&B アプリ UI または Python SDK を使用してコレクションにタグを追加します。
  • W&B App
  • Python SDK
W&B アプリ UI を使用してコレクションにタグを追加します。
  1. W&B レジストリに移動します: https://wandb.ai/registry
  2. レジストリカードをクリックします
  3. コレクション名の横にある View details をクリックします
  4. コレクションカード内で、Tags フィールドの隣にあるプラスアイコン (+) をクリックし、タグの名前を入力します
  5. キーボードの Enter を押します

コレクションに属するタグを更新する

tags 属性を再割り当てするか、変更することでプログラム上でタグを更新します。W&B は tags 属性をインプレースで変更するのではなく、再割り当てすることを推奨しており、これは良い Python の習慣でもあります。 例えば、以下のコードスニペットは、再割り当てを用いてリストを更新する一般的な方法を示しています。簡潔にするために、このコード例は コレクションにタグを追加するセクション から続いています。
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 = []  # すべてのタグを削除
次のコードスニペットは、インプレースでの変更を使用してアーティファクトバージョンに属するタグを更新する方法を示しています。
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 アプリ UI を使用してコレクションに追加されたタグを表示します。
  1. W&B レジストリに移動します: https://wandb.ai/registry
  2. レジストリカードをクリックします
  3. コレクション名の横にある View details をクリックします
コレクションに 1 つ以上のタグがある場合、それらのタグはコレクションカード内の Tags フィールドの隣に表示されます。
コレクションに追加されたタグは、コレクション名の隣にも表示されます。 例えば、以下の画像では、「zoo-dataset-tensors」コレクションに “tag1” というタグが追加されています。

コレクションからタグを削除する

W&B アプリ UI を使用してコレクションからタグを削除します。
  1. W&B レジストリに移動します: https://wandb.ai/registry
  2. レジストリカードをクリックします
  3. コレクション名の横にある View details をクリックします
  4. コレクションカード内で、削除したいタグの名前の上にマウスを移動してください
  5. キャンセルボタン(X アイコン)をクリックします

アーティファクトバージョンにタグを追加する

W&B アプリ UI または Python SDK を使用して、コレクションにリンクされたアーティファクトバージョンにタグを追加します。
  • W&B App
  • Python SDK
  1. W&B レジストリに移動します: https://wandb.ai/registry
  2. レジストリカードをクリックします
  3. タグを追加したいコレクションの名前の横にある View details をクリックします
  4. 下にスクロールして Versions を表示します
  5. アーティファクトバージョンの横にある View をクリックします
  6. Version タブ内で、Tags フィールドの隣にあるプラスアイコン (+) をクリックし、タグの名前を入力します
  7. キーボードの Enter を押します

アーティファクトバージョンに属するタグを更新する

tags 属性を再割り当てするか、変更することでプログラム上でタグを更新します。W&B は tags 属性をインプレースで変更するのではなく、再割り当てすることを推奨しており、これは良い Python の習慣でもあります。 例えば、以下のコードスニペットは、再割り当てを用いてリストを更新する一般的な方法を示しています。簡潔にするために、このコード例は アーティファクトバージョンにタグを追加するセクション から続いています。
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 = []  # すべてのタグを削除
次のコードスニペットは、インプレースでの変更を使用してアーティファクトバージョンに属するタグを更新する方法を示しています。
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()

アーティファクトバージョンに属するタグを表示する

W&B アプリ UI または Python SDK を使用して、レジストリにリンクされたアーティファクトバージョンに属するタグを表示します。
  • W&B App
  • Python SDK
  1. W&B レジストリに移動します: https://wandb.ai/registry
  2. レジストリカードをクリックします
  3. タグを追加したいコレクションの名前の横にある View details をクリックします
  4. 下にスクロールして Versions セクションを表示します
アーティファクトバージョンに 1 つ以上のタグがある場合、それらのタグは Tags 列に表示されます。

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

  1. W&B レジストリに移動します: https://wandb.ai/registry
  2. レジストリカードをクリックします
  3. タグを追加したいコレクションの名前の横にある View details をクリックします
  4. 下にスクロールして Versions を表示します
  5. アーティファクトバージョンの横にある View をクリックします
  6. Version タブ内でタグの名前の上にマウスを移動してください
  7. キャンセルボタン(X アイコン)をクリックします

既存のタグを検索する

W&B アプリ UI を使用して、コレクションやアーティファクトバージョン内の既存のタグを検索します。
  1. W&B レジストリに移動します: https://wandb.ai/registry
  2. レジストリカードをクリックします
  3. 検索バー内にタグの名前を入力します

特定のタグを持つアーティファクトバージョンを見つける

W&B Python SDK を使用して、特定のタグセットを持つアーティファクトバージョンを見つけます。
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)