본문 바로가기
C.W.K.
Stream
Lesson 03 of 07 · published

가중치만 저장하고 불러오기

~8 min · serialize

Level 0Keras 도제
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

모델 구조를 빼고 가중치만 저장해

모델 전체가 아니라 학습된 텐서만 필요한 경우가 있어. save_weights는 가중치만 기록하고 구조는 제외하므로 파일이 작고 저장도 빨라. 긴 학습 도중 몇 에포크마다 체크포인트를 남길 때 알맞아.

불러오기 전에 같은 구조를 다시 만들어야 해

파일에 구조가 없으므로 복원은 두 단계로 이루어져. 먼저 코드로 모델을 만들고 load_weights로 가중치를 넣어. 이 모델은 저장 당시와 레이어, 모양, 순서가 모두 같아야 해. 다르면 로드가 실패하거나 텐서가 잘못 대응할 수 있어. .keras의 자기 설명식 안전성을 크기와 속도에 내주는 대신, 모델 구성 코드를 정확히 동기화할 책임을 맡는 셈이야.

거대한 모델은 여러 조각으로 나눠

가중치 파일 하나가 너무 커지면 Keras 3.10 이상에서 max_shard_size로 조각 크기를 제한할 수 있어. 예를 들어 "2GB"를 넘는 가중치를 여러 파일로 자동 분할해 파일시스템과 업로드 제한 안에 맞추고, 불러올 때는 다시 자동으로 합쳐.

Code

가중치 저장·재구성·불러오기와 큰 모델 분할·python
# Save weights
model.save_weights("weights.weights.h5")

# Load weights into an identical architecture
new_model = build_model()  # Must match original architecture
new_model.load_weights("weights.weights.h5")

# Weight sharding for large models (Keras 3.10+)
model.save_weights("large_model.weights.h5", max_shard_size="2GB")

External links

Exercise

모델을 10에포크 학습하며 ModelCheckpoint로 2에포크마다 가중치를 저장해. 학습 후 6에포크 가중치를 같은 구조의 새 모델에 불러오고 당시 기록된 정확도와 일치하는지 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.