메인 콘텐츠로 건너뛰기
레지스트리 내에서 컬렉션 또는 아티팩트 버전을 정리하기 위해 태그를 생성하고 추가하세요. W&B App UI 또는 W&B Python SDK를 사용하여 컬렉션이나 아티팩트 버전에 태그를 추가, 수정, 확인 또는 제거할 수 있습니다.
태그와 별칭(alias)을 언제 사용해야 하는지특정 아티팩트 버전을 고유하게 참조해야 할 때는 별칭(alias)을 사용하세요. 예를 들어 artifact_name:alias가 항상 하나의 특정 버전을 가리키도록 보장해야 할 때 ‘production’이나 ‘latest’와 같은 별칭을 사용합니다.그룹화나 검색에 더 유연성이 필요할 때는 태그를 사용하세요. 여러 버전 또는 컬렉션이 동일한 레이블을 공유할 수 있고, 특정 식별자에 오직 하나의 버전만 연결된다는 보장이 필요하지 않을 때 태그가 적합합니다.

컬렉션에 태그 추가하기

컬렉션에 태그를 추가하려면 W&B App UI 또는 Python SDK를 사용하세요.
W&B App UI를 사용하여 컬렉션에 태그를 추가하려면 다음을 수행하세요.
  1. W&B Registry로 이동합니다.
  2. 레지스트리 카드 중 하나를 클릭합니다.
  3. 컬렉션 이름 옆에 있는 View details를 클릭합니다.
  4. 컬렉션 카드에서 Tags 필드 옆의 플러스 아이콘(+)을 클릭한 뒤 태그 이름을 입력합니다.
  5. 키보드에서 Enter 키를 누릅니다.
레지스트리 컬렉션에 태그를 추가하는 모습

컬렉션에 속한 태그 업데이트하기

tags 속성을 재할당하거나 변경(mutate)해서 태그를 코드로 업데이트할 수 있습니다. W&B는 일반적인 Python 모범 사례와 마찬가지로, 제자리(in-place) 변경 대신 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 = []  # 모든 태그 삭제
다음 코드 예제는 인플레이스 변경(in-place mutation)을 사용해 아티팩트 버전에 속한 태그를 업데이트하는 방법을 보여줍니다.
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를 클릭합니다.
컬렉션에 하나 이상의 태그가 있는 경우, 컬렉션 카드의 Tags 필드 옆에서 해당 태그를 확인할 수 있습니다.
선택된 태그가 있는 레지스트리 컬렉션
컬렉션에 추가된 태그는 해당 컬렉션 이름 옆에도 표시됩니다. 예를 들어, 다음 이미지에서는 “tag1”이라는 태그가 “zoo-dataset-tensors” 컬렉션에 추가되어 있습니다.
태그 관리

컬렉션에서 태그 제거하기

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. 레지스트리 카드를 클릭합니다.
  3. 태그를 추가하려는 컬렉션 이름 옆의 View details를 클릭합니다.
  4. Versions 섹션으로 스크롤합니다.
  5. 아티팩트 버전 옆의 View를 클릭합니다.
  6. Version 탭에서 Tags 필드 옆의 플러스 아이콘(+)을 클릭하고 태그 이름을 입력합니다.
  7. 키보드에서 Enter 키를 누릅니다.
아티팩트 버전에 태그 추가

아티팩트 버전에 속한 태그 업데이트

태그는 재할당하거나 tags 속성을 변경(mutate)하여 프로그래밍 방식으로 업데이트할 수 있습니다. W&B에서는, 그리고 일반적인 Python 모범 사례에서도, tags 속성을 in-place로 변경하기보다는 재할당하는 방식을 권장합니다. 예를 들어, 다음 코드 스니펫은 재할당을 사용해 리스트를 업데이트하는 일반적인 방법을 보여줍니다. 예시를 간단히 하기 위해, 아티팩트 버전에 태그 추가 섹션의 코드 예시를 이어서 사용합니다:
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 = []  # 모든 태그 삭제
다음 코드 스니펫은 제자리(in-place) 변경을 사용하여 아티팩트 버전에 속한 태그를 업데이트하는 방법을 보여줍니다:
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 섹션으로 이동합니다.
아티팩트 버전에 하나 이상의 태그가 있는 경우 Tags 열에서 해당 태그를 볼 수 있습니다.
태그가 있는 아티팩트 버전

아티팩트 버전에서 태그 제거

  1. W&B Registry로 이동합니다.
  2. 레지스트리 카드를 클릭합니다.
  3. 태그를 추가하려는 컬렉션 이름 옆의 View details를 클릭합니다.
  4. 아래로 스크롤하여 Versions 섹션으로 이동합니다.
  5. 아티팩트 버전 옆의 View를 클릭합니다.
  6. Version 탭에서 태그 이름 위에 마우스를 올립니다.
  7. 취소 버튼(X 아이콘)을 클릭합니다.

기존 태그 검색

W&B 앱 UI를 사용해 컬렉션과 아티팩트 버전에서 기존 태그를 검색하세요.
  1. W&B 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)