Skip to main content
run은 W&B에 로깅되는 단일 계산 단위입니다. W&B Run은 전체 프로젝트를 구성하는 가장 기본적인 요소라고 볼 수 있습니다. 다시 말해, 각 run은 모델 트레이닝과 결과 로깅, 하이퍼파라미터 sweep 등 특정 계산 작업의 기록입니다. run을 초기화하고 로깅하는 일반적인 사용 사례는 다음과 같습니다. W&B run을 초기화하려면 W&B Python SDK의 wandb.init() 메서드를 호출하세요. 그러면 새 run이 시작되고, 메트릭, artifact 및 기타 정보를 run에 로깅하는 데 사용할 수 있는 wandb.Run 객체가 반환됩니다. run 초기화에 대한 자세한 내용은 run 초기화를 참조하세요. 각 run 객체에는 run ID라고 하는 고유 식별자가 있습니다. 고유 ID를 직접 지정할 수도 있고 W&B가 무작위로 생성하도록 둘 수도 있습니다. 각 run 객체에는 사람이 읽을 수 있지만 고유하지는 않은 run name도 있습니다. run의 이름을 직접 지정할 수도 있고 W&B가 무작위로 생성하도록 둘 수도 있습니다. run은 초기화한 후에도 이름을 변경할 수 있습니다. W&B는 사용자의 run을 project에 로깅합니다. wandb.init(project="")로 run을 초기화할 때 프로젝트를 지정합니다. 프로젝트가 존재하지 않으면 W&B가 새 프로젝트를 생성합니다. 프로젝트가 이미 존재하면 W&B는 지정한 프로젝트에 run을 로깅합니다.
프로젝트 이름을 지정하지 않으면 W&B는 run을 Uncategorized라는 프로젝트에 저장합니다.
wandb.init()은 ID, 이름, 설정, 상태와 같은 run의 속성을 포함하는 wandb.Run 객체를 반환합니다. wandb.Run.log(), wandb.Run.log_code(), wandb.Run.use_artifact() 같은 메서드로 run 객체를 사용해 메트릭, artifact 및 기타 정보를 run에 로깅하세요. 각 run에는 현재 상태를 나타내는 state가 있습니다. 가능한 run state의 전체 목록은 Run states를 참조하세요. W&B App에서 run의 프로젝트 workspace 내 run과 해당 속성 보기가 가능합니다. 또한 wandb.Api.Run 객체를 사용해 run 속성에 프로그래밍 방식으로 액세스할 수도 있습니다. 예를 들어, 다음 코드 스니펫은 W&B run을 초기화하고 여기에 일부 메트릭을 로깅합니다.
함께 따라 하려면 아래 코드 스니펫의 entity 변수에 자신의 W&B entity를 전달하세요. entity는 W&B 사용자 이름 또는 팀 이름입니다. W&B App workspace의 URL에서 확인할 수 있습니다. 예를 들어 workspace URL이 https://wandb.ai/nico/awesome-project라면 entity는 nico입니다.
첫 번째 줄은 W&B Python SDK를 임포트합니다. 두 번째 줄은 entity nico의 프로젝트 awesome-project에서 run을 초기화합니다. 세 번째 줄은 해당 run에 모델의 정확도와 손실을 기록합니다. 터미널에서 W&B는 다음을 반환합니다:
W&B는 터미널 출력에 두 개의 URL을 반환합니다. 첫 번째 URL은 특정 run의 Workspace로 연결되고, 두 번째 URL은 프로젝트 페이지로 연결됩니다.
단일 run Workspace
특정 시점 하나에서 메트릭을 로깅하는 것은 그다지 유용하지 않을 수 있습니다. 판별 모델을 트레이닝할 때는 메트릭을 일정한 간격으로 로깅하는 것이 더 현실적인 예입니다. 예를 들어, 다음 코드 스니펫을 살펴보겠습니다:
트레이닝 스크립트는 wandb.Run.log()를 10번 호출합니다. 스크립트가 wandb.Run.log()를 호출할 때마다 W&B는 해당 에포크의 정확도와 손실을 기록합니다. 터미널에는 다음과 유사한 출력이 표시되어야 합니다.
W&B는 jolly-haze-4라는 하나의 run 내에서 시뮬레이션된 트레이닝 루프를 캡처합니다. 이는 스크립트에서 wandb.init()을 한 번만 호출하기 때문입니다. 이전 출력에서 W&B가 출력한 URL을 복사하여 브라우저에 붙여넣으세요. 해당 URL은 W&B App UI의 run Workspace로 연결됩니다. 예를 들어, 다음 이미지는 jolly-haze-4 run의 Workspace를 보여줍니다:
메트릭이 로깅된 트레이닝 run

Run summary

run의 summary 속성을 사용하여 모델, 트레이닝 프로세스 또는 전처리 단계를 요약하는 값을 저장하세요. 시간에 따라 변하는 메트릭과 달리 summary 값은 일반적으로 최종 결과나 집계 결과를 나타냅니다. 활성 run 중에 summary 값을 로깅하거나 run이 완료된 후 업데이트할 수 있습니다. W&B Python SDK를 통해 프로그래밍 방식으로 액세스하거나 W&B App에서 확인하세요. 자세한 내용은 summary 메트릭 로깅을 참조하세요.

Run 설정

run 설정을 사용하여 하이퍼파라미터, 모델 아키텍처, 데이터셋 이름 등 실험의 입력 값과 설정을 저장하세요. 설정 값은 run 결과를 생성하는 데 사용된 조건을 추적하는 데 도움이 됩니다. 활성 run 중에 설정 값을 로깅하거나 run이 완료된 후 업데이트할 수 있습니다. W&B Python SDK를 사용하여 프로그래밍 방식으로 액세스하거나 W&B App에서 확인하세요. 자세한 내용은 실험 구성을 참조하세요.