실험 생성
"""
W&B에서 실험을 생성합니다. 프로젝트가 존재하지 않으면 W&B가 자동으로 생성합니다.
이 파일은 실험을 초기화하는 역할만 합니다. `with` 블록 내에 메트릭, artifact 등을
log하는 코드를 추가할 수 있습니다.
"""
import wandb
# W&B run 초기화
with wandb.init(project="<project>") as run:
# 실험 코드를 여기에 작성하세요
pass
특정 step에서 기존 run을 포크하기
"""특정 step에서 기존 W&B run을 fork합니다."""
import wandb
# 나중에 fork할 run을 초기화합니다.
with wandb.init(project="<project>", entity="<entity>") as original_run:
# 트레이닝 및 logging 코드를 여기에 작성하세요.
pass
# 특정 step에서 run을 fork합니다. 이 예제에서는 step 200에서 fork합니다. 필요에 따라 step 번호를 조정하세요.
with wandb.init(project="<project>",entity="<entity>", fork_from=f"{original_run.id}?_step=200") as forked_run:
# 트레이닝 및 logging 코드를 여기에 작성하세요.
pass
run 초기화하기
"""
W&B run을 초기화합니다.
W&B는 프로젝트가 존재하지 않으면 자동으로 생성합니다. 이 파일은 실험만
초기화하며, `with` 블록 내에 메트릭, artifacts 등을 logging하는 코드를 추가할 수 있습니다.
"""
import wandb
# 리소스를 올바르게 관리하려면 `with` 문을 사용하세요.
with wandb.init(project="<project>") as run:
# 트레이닝 및 logging 코드를 여기에 작성하세요
pass
run이 일시 중지되거나 중단되거나 실패한 경우 재개 동작 설정
"""
run이 일시 중지되거나, 중단되거나, 실패한 경우 재개 동작을 설정합니다.
이 기능은 중단될 수 있는 장시간 실행되는 실험에 유용합니다. 모든 재개 옵션 목록은
wandb.init(resume=)의 레퍼런스 문서를 참조하세요.
"""
import wandb
# 재개 동작을 사용하여 W&B run 초기화
with wandb.init(project="<project>", resume="<resume_option>") as run:
# 트레이닝 및 logging 코드를 여기에 작성하세요
pass
run을 Rewind해 run 이력 수정하기
"""
run의 이력을 수정하기 위해 run을 되감습니다.
`wandb.init()`의 `resume_from` 파라미터에 되감을 run ID와 step을 지정하세요.
"""
import wandb
import math
# run을 초기화하고 메트릭을 로깅합니다
with wandb.init(project="<project>", entity="<entity>") as run:
# 트레이닝 및 로깅 코드를 여기에 작성하세요
pass
run_ID = "<run_id>" # 원본 run의 run ID로 교체하세요
step = int("<step>") # 되감을 step을 지정하세요
# 원본 run의 지정된 step부터 재개하는 새 run을 시작합니다
with wandb.init(project="<project>", entity="<entity>", resume_from=f"{run_ID}?_step={step}") as run:
# 트레이닝 및 로깅 코드를 여기에 작성하세요
pass
run에 태그를 하나 이상 추가하기
"""
run에 태그를 하나 이상 추가합니다.
"""
import wandb
with wandb.init(entity="<entity>", project="<project>", tags=["<tag1>", "<tag2>"]) as run:
# 트레이닝 및 로깅 코드를 여기에 작성하세요
pass
그룹에 하나 이상의 Runs 추가
"""
하나 이상의 run을 그룹에 추가합니다.
`wandb.init(group="")`으로 run을 초기화할 때 `group` 파라미터에
그룹 이름을 인수로 전달하세요.
"""
import wandb
entity = "<entity>"
project = "<project>"
# 아래 코드는 각 그룹에 3개의 run이 포함된 3개의 run 그룹을 생성합니다.
for group in ["<GroupA>", "<GroupB>", "<GroupC>"]: # 원하는 그룹 이름으로 바꾸세요
# 각 그룹에 대해 run 3개 생성을 시뮬레이션합니다.
for i in range(3):
with wandb.init(entity=entity, project=project, group=group, name=f"{group}_run_{i}") as run:
# 트레이닝 및 로깅 코드를 여기에 작성하세요
pass
run을 작업 유형별로 정리하기
"""
작업 유형별로 runs를 구성합니다.
`wandb.init(job_type="")`에 `job_type` 파라미터를 전달하여 run에 작업 유형을 추가합니다.
"""
import wandb
entity = "<entity>"
project = "<project>"
# 작업 유형별로 runs를 생성하고 구성합니다.
for job_type in ["<JobType1>", "<JobType2>"]: # 작업 유형 이름으로 교체하세요
# 각 작업 유형에 대해 두 개의 runs를 생성하는 시뮬레이션입니다.
for i in range(2):
with wandb.init(entity=entity, project=project, job_type=job_type, name=f"{job_type}_run_{i}") as run:
# 트레이닝 및 logging 코드를 여기에 작성하세요
pass
활성 run에 태그 하나 이상 추가하기
"""
활성 run에 하나 이상의 태그를 추가합니다.
run 객체의 `tags` 속성은 튜플입니다. 기존 run에 새 태그를 추가하려면,
기존 태그와 새 태그를 포함하는 새 튜플로 `tags` 속성을 업데이트하세요.
"""
import wandb
with wandb.init(entity="<entity>", project="<project>", tags=["<tag1>", "<tag2>"]) as run:
# 트레이닝 및 logging 코드를 여기에 작성하세요
# 기존 태그와 새 태그를 포함하는 새 튜플을 생성하여 기존 태그에 새 태그를 추가합니다.
run.tags += ("<tag3>",)
이전에 저장한 Runs에 하나 이상의 태그 추가하기
"""
이전에 저장된 runs에 태그를 하나 이상 추가합니다.
run이 완료된 후 또는 run 프로세스 외부에서 작업할 때
Public API를 사용하여 저장된 데이터의 태그를 업데이트합니다.
run에 새 태그를 추가하려면 기존 태그와 새 태그를 포함하는
새 목록으로 "tags" 속성을 업데이트하세요.
run의 경로는 entity/project/run_id로 구성됩니다.
태그를 업데이트한 후 run의 `update()` 메서드를 호출하여 변경 사항을 저장합니다.
"""
import wandb
entity = "<entity>"
project = "<project>"
run_id = "<run-id>" # 업데이트할 run의 ID로 교체하세요
# 경로는 entity/project/run_id로 구성됩니다
with wandb.Api().run(f"{entity}/{project}/{run_id}") as run:
run.tags.append("<tag>")
run.update()