CommError, Run does not exist 및 ERROR Error uploading
W&B에서 이 두 오류 메시지를 모두 반환하면 W&B run ID가 설정되어 있을 수 있습니다. 예를 들어 Jupyter Notebook이나 Python 스크립트 어딘가에 다음과 비슷한 코드 스니펫이 정의되어 있을 수 있습니다:
name 파라미터에 이름을 전달하세요. 예를 들면 다음과 같습니다:
wandb.init()에서 id 인수를 제거하면 스윕이 자체적으로 고유한 run ID를 부여할 수 있게 되고, 업로드 오류도 발생하지 않게 됩니다.
CUDA out of memory
이 오류 메시지가 표시되면 코드를 프로세스 기반으로 실행하도록 리팩터링하세요. 각 trial을 별도 프로세스에서 실행하면 W&B가 run 사이에 GPU 메모리를 해제합니다.
코드를 리팩터링하려면 다음 단계를 수행하세요:
-
코드를
train.py라는 Python 스크립트로 다시 작성하세요. 트레이닝 스크립트 이름(train.py)을 YAML 스윕 설정 파일(config.yaml, 이 예제에서는)에 추가하세요: -
train.pyPython 스크립트에 다음 내용을 추가하세요: -
CLI에서
wandb sweep으로 스윕을 초기화하세요: -
W&B가 반환한 스윕 ID를 확인하세요. Python SDK(
wandb.agent()) 대신 CLI에서wandb agent를 사용해 스윕 작업을 시작하세요. 다음 코드 스니펫의[SWEEP-ID]를 이전 단계에서 W&B가 반환한 스윕 ID로 바꾸세요:
anaconda 400 error
다음 오류는 일반적으로 최적화하려는 메트릭을 로깅하지 않았을 때 발생합니다:
metric 키를 지정합니다. 이 메트릭을 wandb.Run.log()로 로깅해야 합니다. 또한 Python 스크립트나 Jupyter Notebook에서 스윕이 최적화하도록 정의한 메트릭 이름과 정확히 일치하는 이름을 사용해야 합니다. 설정 파일에 대한 자세한 내용은 스윕 설정 정의를 참조하세요.