メインコンテンツへスキップ
タグを作成・追加することで、レジストリ内のコレクションや 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 を使用してコレクションにタグを追加する方法:
  1. W&B Registry に移動します。
  2. レジストリカードをクリックします。
  3. コレクション名の横にある View details をクリックします。
  4. コレクションカード内で、Tags フィールドの横にあるプラスアイコン (+) をクリックし、タグの名前を入力します。
  5. キーボードの Enter キーを押します。
Adding tags to a Registry collection

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

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 を使用して、コレクションに追加されたタグを表示します。
  1. W&B Registry に移動します。
  2. レジストリカードをクリックします。
  3. コレクション名の横にある View details をクリックします。
コレクションに 1 つ以上のタグがある場合、コレクションカード内の Tags フィールドの横でそれらのタグを確認できます。
Registry collection with selected tags
コレクションに追加されたタグは、そのコレクション名の横にも表示されます。 例えば、以下の画像では、“tag1” というタグが “zoo-dataset-tensors” コレクションに追加されています。
Tag management

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

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

Artifacts バージョンにタグを追加する

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

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 バージョンに属するタグを表示します。
  1. W&B Registry に移動します。
  2. レジストリカードをクリックします。
  3. タグを追加したいコレクション名の横にある View details をクリックします。
  4. Versions セクションまでスクロールします。
Artifacts バージョンに 1 つ以上のタグがある場合、Tags 列でそれらのタグを確認できます。
Artifact version with tags

Artifacts バージョンからタグを削除する

  1. W&B Registry に移動します。
  2. レジストリカードをクリックします。
  3. タグを追加したいコレクション名の横にある View details をクリックします。
  4. Versions までスクロールします。
  5. Artifacts バージョンの横にある View をクリックします。
  6. Version タブ内で、タグの名前にマウスを合わせます。
  7. キャンセルボタン(X アイコン)をクリックします。

既存のタグを検索する

W&B App UI を使用して、コレクションや Artifacts バージョン内の既存のタグを検索します。
  1. W&B Registry に移動します。
  2. レジストリカードをクリックします。
  3. 検索バー内にタグの名前を入力します。
Tag-based search

特定のタグを持つ 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)