W&B에 저장된 아티팩트 다운로드 및 사용
아티팩트가 run의 의존성인 경우 추적되는 run 입력으로 다운로드하고, 리니지 추적이 필요 없는 워크플로에서는 직접 가져오세요.W&B가 처리할 수 있는 스킴의 레퍼런스는 아티팩트 파일과 동일한 방식으로 다운로드됩니다. 자세한 내용은 외부 파일 추적을 참조하세요.
- 모든 파일을 다운로드하려면
Artifact.download()를 사용하세요. - 특정 엔트리를 다운로드하려면
Artifact.get_entry()로 엔트리를 조회한 다음.download()를 호출하세요.
- run 입력 추적
- 직접 가져오기
- W&B CLI
W&B run 안에서 아티팩트를 다운로드하려면
wandb.Run.use_artifact()를 사용하세요. W&B는 해당 아티팩트를 run의 입력으로 기록합니다.- W&B Python SDK를 임포트하고 W&B Run을 초기화합니다.
wandb.Run.use_artifact()로 아티팩트 버전을 조회합니다.- 반환된
Artifact객체에서 모든 파일 또는 특정 파일을 다운로드합니다.
아티팩트 일부 다운로드
필요한 경우 접두사를 기준으로 아티팩트의 일부만 다운로드할 수 있습니다. 단일 파일이나 하위 폴더의 내용을 다운로드하려면path_prefix= (wandb.Artifact.download(path_prefix=)) 매개변수를 사용하세요.
path_prefix= 매개변수에 해당 디렉터리를 지정하세요. 앞의 코드 스니펫에 이어서 다음과 같이 작성합니다.
다운로드한 아티팩트 파일 확인
아티팩트를 다운로드한 후wandb.Artifact.verify()를 호출하여 디스크에 있는 로컬 파일이 아티팩트 매니페스트와 일치하는지 확인하세요.
다음 예시는 run 내에서 아티팩트를 다운로드한 후 다운로드한 파일을 확인합니다.
wandb.Artifact.verify()는 로컬 파일의 체크섬을 다시 계산하여 아티팩트 매니페스트에 기록된 체크섬과 비교합니다. 파일이 누락되었거나 수정된 경우, 또는 디렉터리에 아티팩트에 포함되지 않은 파일이 있는 경우에는 확인에 실패합니다.
아티팩트 확인 시 고려 사항
-
wandb.Artifact.verify()는 참조 항목을 확인하지 않습니다. -
digest_algorithm="XXH128"로 생성한 아티팩트에wandb.Artifact.verify()를 사용하려면 W&B Python SDK 0.29.0 이상 버전이 필요합니다. 이전 버전의 SDK는 XXH128 매니페스트 항목을 지원하지 않으므로 확인에 실패합니다.
다른 프로젝트의 아티팩트 사용하기
아티팩트를 참조하려면 아티팩트 이름과 함께 프로젝트 이름을 지정하세요. 아티팩트 이름과 함께 entity 이름을 지정하면 다른 entity의 아티팩트도 참조할 수 있습니다. 다음 코드 예시는 다른 프로젝트의 아티팩트를 쿼리하여 현재 W&B run의 입력으로 사용하는 방법을 보여 줍니다.아티팩트를 생성하면서 동시에 사용하기
아티팩트를 생성하면서 동시에 사용할 수 있습니다. 아티팩트 객체를 만든 다음 use_artifact에 전달하세요. W&B에 해당 아티팩트가 아직 없으면 새로 생성됩니다.wandb.Run.use_artifact() API는 멱등성을 보장하므로 여러 번 호출해도 됩니다.