아티팩트 생성
wandb.Artifact()로 아티팩트 Python 객체 생성하기
wandb.Artifact() 클래스를 초기화하세요. 다음 매개변수를 지정합니다.
- Name: 아티팩트의 이름입니다. 이름은 고유하고, 설명적이며, 기억하기 쉬워야 합니다.
- Type: 아티팩트의 유형입니다. 유형은 단순하고 설명적이어야 하며, 머신 러닝 파이프라인의 단일 step에 해당해야 합니다. 일반적인 아티팩트 유형으로는
'dataset'또는'model'이 있습니다.
W&B는 제공한 “name”과 “type”을 사용해 W&B App에서 방향성 비순환 그래프를 생성합니다. 자세한 내용은 아티팩트 그래프 탐색 및 순회를 참조하세요.
wandb.Artifact 클래스 정의를 참조하세요.
다음 코드 스니펫을 복사해 아티팩트 객체를 만드세요. <name> 및 <type> 플레이스홀더를 원하는 값으로 바꾸세요:
아티팩트에 하나 이상의 파일 추가
Artifact.add_file() 방법을 사용합니다:
Artifact.add_dir() 메서드를 사용하세요:
아티팩트를 W&B 서버에 저장하기
wandb.Run.log_artifact() 방법을 사용하세요.
아티팩트에 파일 추가
단일 파일 추가
wandb.Artifact.add_file()을 사용합니다. 파일의 로컬 경로를 local_path 매개변수로 지정합니다:
'hello.txt'라는 파일이 있다고 가정해 보겠습니다.
name Parameter에 다른 이름을 전달해 아티팩트 객체 자체에서 파일 이름을 바꿀 수 있습니다. 이전 예제를 이어서 보면 다음과 같습니다:
| API 호출 | 생성되는 아티팩트 |
|---|---|
artifact.new_file('hello.txt') | hello.txt |
artifact.add_file('model.h5') | model.h5 |
artifact.add_file('checkpoints/model.h5') | model.h5 |
artifact.add_file('model.h5', name='models/mymodel.h5') | models/mymodel.h5 |
여러 파일 추가
wandb.Artifact.add_dir() 방법을 사용하세요. local_path 매개변수로 디렉터리의 로컬 경로를 지정하세요.
| API Call | Resulting 아티팩트 |
|---|---|
artifact.add_dir('images') |
|
artifact.add_dir('images', name='images') |
|
URI 레퍼런스 추가
wandb.Artifact.add_reference() 방법으로 아티팩트에 외부 URI 레퍼런스를 추가합니다. 'uri' 문자열을 사용자의 URI로 바꾸세요. 필요에 따라 name Parameter에 아티팩트 내에서 사용할 원하는 경로를 전달할 수도 있습니다.
http(s)://: HTTP를 통해 액세스할 수 있는 파일 경로입니다. HTTP 서버가ETag및Content-Length응답 헤더를 지원하는 경우, 아티팩트는 ETag 형식의 체크섬과 크기 메타데이터를 추적합니다.s3://: S3의 객체 또는 객체 접두사 경로입니다. 아티팩트는 참조된 객체의 체크섬과 버전 관리 정보(버킷에서 객체 버전 관리가 활성화된 경우)를 추적합니다. 객체 접두사는 해당 접두사 아래의 객체를 포함하도록 확장되며, 최대 10,000개 객체까지 포함됩니다.gs://: GCS의 객체 또는 객체 접두사 경로입니다. 아티팩트는 참조된 객체의 체크섬과 버전 관리 정보(버킷에서 객체 버전 관리가 활성화된 경우)를 추적합니다. 객체 접두사는 해당 접두사 아래의 객체를 포함하도록 확장되며, 최대 10,000개 객체까지 포함됩니다.
| API 호출 | 생성되는 아티팩트 콘텐츠 |
|---|---|
artifact.add_reference('s3://my-bucket/model.h5') | model.h5 |
artifact.add_reference('s3://my-bucket/checkpoints/model.h5') | model.h5 |
artifact.add_reference('s3://my-bucket/model.h5', name='models/mymodel.h5') | models/mymodel.h5 |
artifact.add_reference('s3://my-bucket/images') |
|
artifact.add_reference('s3://my-bucket/images', name='images') |
|
병렬 run에서 아티팩트에 파일 추가하기
로깅된 아티팩트 및 기타 메타데이터의 경로 찾기
<entity/project/run-id> 자리표시자를 자신의 값으로 바꾸세요: