메인 콘텐츠로 건너뛰기
W&B Artifacts 를 사용하여 W&B Runs 의 입력 및 출력으로 사용되는 데이터를 추적하고 버전을 관리하세요. 예를 들어, 모델 트레이닝 run 은 데이터셋을 입력으로 받아 트레이닝된 모델을 출력으로 생성할 수 있습니다. 하이퍼파라미터, 메타데이터, 메트릭을 run 에 로그할 수 있으며, Artifacts 를 사용하여 모델 트레이닝에 사용된 데이터셋을 입력으로, 결과물인 모델 체크포인트를 출력으로 로그, 추적 및 버전 관리할 수 있습니다.

유스 케이스

전체 ML 워크플로우에서 runs 의 입력과 출력으로 Artifacts 를 사용할 수 있습니다. 데이터셋, 모델 또는 다른 Artifacts 를 처리 프로세스의 입력으로 사용할 수 있습니다.
유스 케이스입력출력
모델 트레이닝 (Model Training)데이터셋 (트레이닝 및 검증 데이터)트레이닝된 모델
데이터셋 전처리 (Dataset Pre-Processing)데이터셋 (원시 데이터)데이터셋 (전처리된 데이터)
모델 평가 (Model Evaluation)모델 + 데이터셋 (테스트 데이터)W&B Table
모델 최적화 (Model Optimization)모델최적화된 모델
다음 코드조각들은 순서대로 실행되어야 합니다.

Artifact 생성하기

네 줄의 코드로 Artifact 를 생성하세요:
  1. W&B run 을 생성합니다.
  2. wandb.Artifact 를 사용하여 Artifact 오브젝트를 생성합니다.
  3. wandb.Artifact.add_file() 을 사용하여 모델 파일이나 데이터셋과 같은 하나 이상의 파일을 Artifact 오브젝트에 추가합니다.
  4. wandb.Run.log_artifact() 를 사용하여 W&B 에 Artifact 를 로그합니다.
예를 들어, 다음 코드조각은 dataset.h5 라는 파일을 example_artifact 라는 이름의 Artifact 로 로그하는 방법을 보여줍니다:
import wandb

# run 생성 및 프로젝트 설정
with wandb.init(project="artifacts-example", job_type="add-dataset") as run:
    # Artifact 오브젝트 생성
    artifact = wandb.Artifact(name="example_artifact", type="dataset")
    # 파일 추가
    artifact.add_file(local_path="./dataset.h5", name="training_dataset")
    # Artifact 로그
    run.log_artifact(artifact)
  • Artifact 의 type 은 W&B 플랫폼에서 어떻게 표시될지에 영향을 줍니다. type 을 지정하지 않으면 기본값은 unspecified 로 설정됩니다.
  • 드롭다운의 각 레이블은 서로 다른 type 파라미터 값을 나타냅니다. 위의 코드조각에서 Artifact 의 typedataset 입니다.
Amazon S3 버킷과 같은 외부 오브젝트 스토리지에 저장된 파일이나 디렉토리에 대한 참조를 추가하는 방법은 외부 파일 추적 가이드 페이지를 참조하세요.

Artifact 다운로드하기

wandb.Run.use_artifact() 메소드를 사용하여 run 의 입력으로 표시할 Artifact 를 지정합니다. 이전 코드조각에 이어, 다음 코드 예시는 이전에 생성된 example_artifact 라는 이름의 Artifact 를 사용하는 방법을 보여줍니다:
with wandb.init(project="artifacts-example", job_type="add-dataset") as run:
    # "training_dataset" 아티팩트를 사용하는 run 오브젝트를 반환
    artifact = run.use_artifact("training_dataset:latest")  
이 코드는 Artifact 오브젝트를 반환합니다. 그 다음, 반환된 오브젝트를 사용하여 Artifact 의 모든 내용을 다운로드합니다:
# 전체 `my_data` 아티팩트를 기본 디렉토리에 다운로드합니다.
datadir = artifact.download()  
root 파라미터 에 커스텀 경로를 전달하여 Artifact 를 특정 디렉토리에 다운로드할 수 있습니다. Artifact 를 다운로드하는 다른 방법과 추가 파라미터는 Artifact 다운로드 및 사용 가이드를 확인하세요.

다음 단계

  • Artifact 의 버전 관리업데이트 방법을 알아보세요.
  • Automations 를 사용하여 Artifact 의 변경 사항에 따라 다운스트림 워크플로우를 트리거하거나 Slack 채널에 알림을 보내는 방법을 알아보세요.
  • 트레이닝된 모델을 보관하는 공간인 Registry 에 대해 알아보세요.
  • Python SDKCLI 레퍼런스 가이드를 살펴보세요.