메인 콘텐츠로 건너뛰기
run 포크 기능은 현재 활발히 개발 중입니다. Multi-tenant Cloud 및 Dedicated Cloud에서는 프리뷰로 제공되며, Self-Managed에서는 아직 사용할 수 없습니다.
원본 run에 영향을 주지 않고 실험의 특정 지점에서 다양한 하이퍼파라미터나 모델을 탐색할 수 있습니다. 이렇게 하려면 기존 W&B run에서 포크하세요. run에서 포크하면 W&B는 소스 run의 고유 ID와 지정한 step을 사용해 새 run을 생성합니다. 소스 run의 summary 메트릭은 포크된 run으로 복사됩니다. 포크된 run은 지정한 step까지 소스 run의 모든 이력과 파일을 공유합니다. 포크 step 이후에는 원본 run과 독립적으로 포크된 run에 새 데이터를 로깅할 수 있습니다. 아래 코드로 생성된 포크된 run의 라이브 데모를 확인하세요.
  • run 포크를 사용하려면 wandb SDK 버전이 0.16.5 이상이어야 합니다.
  • run 포크를 사용하려면 step이 단조 증가해야 합니다. define_metric()로 정의된 비단조 step을 사용하는 run에서는 포크할 수 없습니다. 비단조 step은 run 이력과 시스템 메트릭의 시간순 순서를 깨뜨립니다.
포크된 run을 시작할 소스 run의 고유한 run IDstepwandb.init()fork_from 인자로 지정하세요.

이전에 로깅된 run에서 포크하기

다음 코드 스니펫은 이전에 W&B에 로깅한 run에서 포크하는 방법을 보여줍니다. 먼저, 포크하려는 run의 run ID를 획득합니다. 다음으로, wandb.init()fork_from에 포크할 run ID와 포크할 step을 인수로 지정합니다. 다음 코드를 Python 스크립트 또는 노트북 셀에 복사하여 붙여넣으세요. <source-run-id>, <project>, <entity>를 자신의 값으로 바꾸세요:

동일한 스크립트에서 run에서 포크하기

다음 코드 스니펫에서는 동일한 스크립트 내에서 run을 생성한 뒤, 그 run에서 포크하는 방법을 보여줍니다. 이는 W&B App에서 run ID를 따로 조회하지 않고 방금 생성한 run에서 바로 포크하려는 경우에 유용합니다. 먼저 run을 초기화하고 일부 데이터를 로깅합니다. 다음으로, 원본 run 객체의 id 속성을 사용해 해당 run의 run ID를 획득합니다. 마지막으로, 새 run을 초기화한 다음 원본 run의 ID와 포크를 시작할 step을 wandb.init()fork_from에 인수로 전달합니다.
원본 run의 고유한 run ID를 획득하려면 original_run.id 속성을 사용하세요.

예제 스크립트

예를 들어, 다음 코드 예제는 먼저 run을 포크한 다음 트레이닝 step 200부터 포크된 run에 메트릭을 로깅하는 방법을 보여줍니다. 다음 코드를 Python 스크립트 또는 노트북 셀에 복사하여 붙여넣으세요. <project><entity>를 자신의 값으로 바꾸세요.
Rewind와 포크의 호환성포크는 rewind를 보완하여 run을 관리하고 실험하는 데 더 큰 유연성을 제공합니다.run에서 포크하면 W&B는 특정 시점의 run에서 새 브랜치를 생성해 다른 파라미터나 모델을 사용해 볼 수 있게 합니다.run을 rewind하면 W&B는 run 이력 자체를 바로잡거나 수정할 수 있게 합니다.