メインコンテンツへスキップ
レジストリ内のコレクションやアーティファクトバージョンを整理するために、タグを作成して追加します。W&B App UI または W&B Python SDK を使って、コレクションまたはアーティファクトバージョンにタグを追加、変更、表示、削除できます。
タグとエイリアスを使い分けるタイミング特定のアーティファクトバージョンを一意に参照する必要がある場合は、エイリアスを使用します。たとえば、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 キーを押します。
Registry コレクションにタグを追加する

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

タグをプログラムから更新するには、tags 属性を再代入するか、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 = []  # すべてのタグを削除する
次のコードスニペットは、インプレースミューテーションを使って特定のアーティファクトバージョンに属するタグを更新する方法を示します。
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 フィールドの横にそれらのタグが表示されます。
選択されたタグを持つレジストリコレクション
コレクションに追加されたタグは、そのコレクション名の横にも表示されます。 たとえば、次の画像では、「zoo-dataset-tensors」コレクションに「tag1」というタグが追加されています。
タグ管理

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

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

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

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

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

タグをプログラムから更新するには、tags 属性を再代入するか、tags 属性を変更します。W&B は、Python における良いプラクティスとしても、インプレースで変更するのではなく tags 属性を再代入することを推奨します。 例として、次のコードスニペットは、再代入を使ってリストを更新する一般的な方法を示します。説明を簡潔にするため、アーティファクトバージョンにタグを追加する セクションのコード例を引き続き使用します。
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 App の UI または Python SDK を使って表示できます。
  1. W&B Registry に移動します。
  2. レジストリカードをクリックします。
  3. タグを追加したいコレクション名の横にある View details をクリックします。
  4. 下へスクロールして Versions セクションまで移動します。
アーティファクトバージョンに 1 つ以上のタグがある場合、Tags 列でそれらのタグを確認できます。
タグ付きのアーティファクトバージョン

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

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

既存のタグを検索する

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

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

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)