> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-docs-sandboxes-integrations-placement.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 레지스트리

> W&B Model Registry를 사용해 모델 버전을 체계적으로 정리하고 관리합니다.

W\&B Model Registry를 사용해 모델 버전을 정리하고 관리하세요.

<div id="add-a-description-to-a-collection-in-a-registry">
  ## 레지스트리에서 컬렉션에 설명 추가하기
</div>

```python theme={null}
"""
레지스트리의 컬렉션에 설명을 추가합니다.
"""
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()

# artifact 컬렉션 조회
collection = api.artifact_collection(
  type_name = collection_type, 
  name = registry_path
  )

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

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

<div id="create-a-new-registry">
  ## 새 레지스트리 생성
</div>

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

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

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

<div id="delete-a-registry">
  ## 레지스트리 삭제하기
</div>

```python theme={null}
"""
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()
```

<div id="create-an-artifact-and-link-it-to-a-collection-in-a-registry">
  ## 아티팩트를 생성하고 레지스트리의 컬렉션에 연결하기
</div>

```python theme={null}
"""
W&B artifact를 생성하고 레지스트리의 collection에 연결합니다. collection이
존재하지 않으면 W&B가 생성합니다.
"""
import wandb

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

# 레지스트리 및 collection 이름 정의
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:
  # artifact를 collection에 연결합니다. collection이 존재하지 않으면 W&B가 생성합니다.
  run.link_artifact(artifact = artifact, target_path = target_path)
```

<div id="retrieve-a-specific-version-of-an-artifact-from-a-registry-collection">
  ## 레지스트리 컬렉션에서 아티팩트의 특정 버전 조회하기
</div>

```python theme={null}
"""
레지스트리 컬렉션에서 특정 버전의 아티팩트를 조회합니다.
"""

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)
```

<div id="create-a-registry-collection-and-link-an-artifact-to-it">
  ## 레지스트리 컬렉션 만들기 및 아티팩트 연결
</div>

```python theme={null}
"""
W&B 레지스트리 컬렉션을 생성하고 artifact를 연결합니다.
"""
import wandb

# artifact 객체 생성
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:

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

<div id="add-tags-to-a-collection-in-a-registry">
  ## 레지스트리의 컬렉션에 태그 추가하기
</div>

```python theme={null}
"""
레지스트리의 컬렉션에 태그를 추가합니다.
"""
import wandb

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

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

# artifact 컬렉션 조회
collection = wandb.Api().artifact_collection(
  type_name = collection_type, 
  name = registry_path
  )

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

<div id="remove-a-tag-from-a-collection-in-a-registry">
  ## 레지스트리 컬렉션에서 태그 제거
</div>

```python theme={null}
"""
레지스트리의 컬렉션에서 태그를 제거합니다.
"""
import wandb

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

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

# artifact 컬렉션 조회
collection = wandb.Api().artifact_collection(
  type_name = collection_type, 
  name = registry_path
  )

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