Skip to main content

W&B로 머신 러닝 모델 저장 및 복원

이 글에서는 Weights & Biases를 사용해 머신러닝 모델을 저장하고 복원하는 방법을 살펴봅니다. 이 글은 AI가 번역한 문서입니다. 오역이 있을 경우 댓글로 알려주세요.
Created on September 12|Last edited on September 12

소개

이 노트북에서는 Weights & Biases를 사용해 머신러닝 모델을 저장하고 복원하는 방법을 살펴보겠습니다.
W&B는 모델을 재현하는 데 필요한 모든 것을 안전한 위치에 저장할 수 있도록 해줍니다. 가중치, 아키텍처, 예측 결과, 코드까지 모두 보관할 수 있습니다.
이렇게 하면 모델을 다시 학습할 필요가 없습니다. 며칠, 몇 주, 심지어 몇 달이 지난 뒤에도 성능을 그대로 확인할 수 있습니다. 배포를 준비하기 전에, 지난 몇 달 동안 학습한 모든 모델의 성능을 비교하고 가장 성능이 좋은 모델을 복원하면 됩니다.
함께 따라 해보고 싶다면, 작동하는 코드 예제와 간단한 데모를 제공하는 Colab을 준비해 두었습니다.


머신러닝 모델 저장하기

실행(run)에 연결할 파일을 저장하는 방법은 두 가지가 있습니다.
  1. wandb.save(filename)을 사용하세요.
  2. wandb 실행 디렉터리에 파일을 넣으면, 실행이 끝날 때 자동으로 업로드됩니다.
파일이 작성되는 즉시 동기화하려면 wandb.save에 파일명 또는 glob 패턴을 지정하세요.
몇 줄의 코드만으로 다음과 같이 할 수 있습니다. 자세한 내용은 확인하세요 이 Colab 완전한 예시는 다음을 참조하세요.
# "model.h5" is saved in wandb.run.dir & will be uploaded at the end of training
model.save(os.path.join(wandb.run.dir, "model.h5"))

# Save a model file manually from the current directory:
wandb.save('model.h5')

# Save all files that currently exist containing the substring "ckpt":
wandb.save('../logs/*ckpt*')

# Save any files starting with "checkpoint" as they're written to:
wandb.save(os.path.join(wandb.run.dir, "checkpoint*"))
저장된 모델을 보려면 실행 페이지로 이동하여 다음을 클릭하세요 Files 탭에서 모델 파일을 클릭하세요. 자세한 내용은 an 예시 보기.
자세한 내용은 문서를 참조하세요 자주 묻는 질문 저장 및 복원에 관하여.

머신러닝 모델 복원하기

이제 모델 체크포인트 같은 파일을 스크립트에서 사용할 수 있도록 로컬 실행 폴더로 복원하는 방법을 살펴보겠습니다.
일반적인 사용 사례:
  • 이전 실행에서 생성된 모델 아키텍처 또는 가중치를 복원하기
  • 실패 발생 시 마지막 체크포인트에서 학습을 재개하기 (중요한 세부 사항은 재개 섹션을 참조하세요)
몇 줄의 코드만으로 다음과 같이 할 수 있습니다. 자세한 내용은 확인하세요 이 Colab 완전한 예시는 다음을 참조하세요.
# restore the model file "model.h5" from a specific run by user "lavanyashukla"
# in project "save_and_restore" from run "10pr4joa"
best_model = wandb.restore('model.h5', run_path="lavanyashukla/save_and_restore/10pr4joa")

# use the "name" attribute of the returned object if your framework expects a filename, e.g. as in Keras
model.load_weights(best_model.name)
자세한 내용은 확인하세요 복원 문서 자세한 내용은 다음을 참조하세요.

관련 문서




이 글은 AI가 번역한 문서입니다. 오역이 의심되면 댓글로 알려주세요. 원문 링크는 다음과 같습니다: 원문 보고서 보기