메인 콘텐츠로 건너뛰기
W&B Model Registry를 사용하여 모델 버전을 체계적으로 구성하고 관리하세요.

Registry 컬렉션에 설명 추가하기

"""
레지스트리의 컬렉션에 설명을 추가합니다.
"""
import wandb

# 레지스트리 및 컬렉션 세부 정보 정의
collection_type = "<collection_type>"
registry_name = "<registry_name>"
collection_name = "<collection_name>"

# 전체 레지스트리 경로 구성
registry_path = f"wandb-registry-{registry_name}/{collection_name}"

# W&B API 초기화
api = wandb.Api()

# 아티팩트 컬렉션 가져오기
collection = api.artifact_collection(
  type_name = collection_type, 
  name = registry_path
  )

# 컬렉션 객체에 설명 추가
collection.description = "<description>"

# 업데이트된 컬렉션 저장
collection.save()

새 레지스트리 만들기

"""
W&B에서 새 레지스트리를 생성합니다. 레지스트리가 존재하지 않으면 W&B가 생성합니다.
"""
import wandb

# W&B API 초기화
api = wandb.Api()

# 새 레지스트리 생성
registry = api.create_registry(
    name="<registry_name>",
    visibility="<visibility>",  # 예: "public" 또는 "private"
)

레지스트리 삭제하기

"""
W&B에서 레지스트리를 삭제합니다.
"""
import wandb

# 레지스트리 및 컬렉션 세부 정보 정의
registry_name = "<registry_name>"
collection_name = "<collection_name>"

# 전체 레지스트리 경로 구성
registry_path = f"wandb-registry-{registry_name}/{collection_name}"

# W&B API 초기화
api = wandb.Api()

# 삭제할 레지스트리 가져오기
fetched_registry = api.registry("<registry_name>")

# 레지스트리 삭제
fetched_registry.delete()
"""
W&B 아티팩트를 생성하고 레지스트리의 컬렉션에 연결합니다. 컬렉션이
존재하지 않으면 W&B가 생성합니다.
"""
import wandb

# 아티팩트 객체 생성
artifact = wandb.Artifact(name = "<artifact_name>", type = "<artifact_type>")

# 레지스트리 및 컬렉션 이름 정의
registry_name = "<registry_name>"
collection_name = "<collection_name>"
target_path = f"wandb-registry-{registry_name}/{collection_name}"

# run 초기화
with wandb.init(entity = "<entity>", project = "<project>") as run:
  # 아티팩트를 컬렉션에 연결합니다. 컬렉션이 존재하지 않으면 W&B가 생성합니다.
  run.link_artifact(artifact = artifact, target_path = target_path)

레지스트리 컬렉션에서 특정 버전의 아티팩트 가져오기

"""
레지스트리 컬렉션에서 특정 버전의 아티팩트를 가져옵니다.
"""

import wandb

# 레지스트리, 컬렉션, 아티팩트 버전 세부 정보 정의
registry = "<registry_name>"
collection = "<collection_name>"
version = "<version>"

# 버전을 포함한 전체 아티팩트 이름 구성
artifact_name = f"wandb-registry-{registry}/{collection}:{version}"

# W&B API 초기화
api = wandb.Api()

# 지정된 레지스트리 컬렉션 및 버전에서 아티팩트 가져오기
artifact = api.artifact(name = artifact_name)
"""
W&B 레지스트리 컬렉션을 생성하고 아티팩트를 연결합니다.
"""
import wandb

# 아티팩트 객체 생성
artifact = wandb.Artifact(name = "<artifact_name>", type = "<artifact_type>")

registry_name = "<registry_name>"
collection_name = "<collection_name>"
registry_path = f"wandb-registry-{registry_name}/{collection_name}"

# run 초기화
with wandb.init(entity = "<entity>", project = "<project>") as run:

  # 아티팩트를 컬렉션에 연결합니다. 컬렉션이 존재하지 않으면 W&B가 자동으로 생성합니다.
  run.link_artifact(artifact = artifact, target_path = registry_path)

레지스트리 컬렉션에 태그 추가하기

"""
레지스트리의 컬렉션에 태그를 추가합니다.
"""
import wandb

# 레지스트리 및 컬렉션 세부 정보 정의
collection_name = "<collection_name>"
collection_type = "<collection_type>"
registry_name = "<registry_name>"

# 전체 레지스트리 경로 구성
registry_path = f"wandb-registry-{registry_name}/{collection_name}"

# 아티팩트 컬렉션 가져오기
collection = wandb.Api().artifact_collection(
  type_name = collection_type, 
  name = registry_path
  )

collection.tags = ["<tag>"]
collection.save()

레지스트리 컬렉션에서 태그 제거하기

"""
레지스트리의 컬렉션에서 태그를 제거합니다.
"""
import wandb

# 레지스트리 및 컬렉션 세부 정보 정의
collection_name = "<collection_name>"
collection_type = "<collection_type>"
registry_name = "<registry_name>"

# 전체 레지스트리 경로 구성
registry_path = f"wandb-registry-{registry_name}/{collection_name}"

# 아티팩트 컬렉션 가져오기
collection = wandb.Api().artifact_collection(
  type_name = collection_type, 
  name = registry_path
  )

collection.tags.remove("<tag>")
collection.save()