architecture 빼고 weight 만
가끔은 모델 전체가 아니라 학습된 숫자만 필요할 때가 있어. save_weights 는 tensor 만 쓰고 architecture 는 통째로 빼. 그래서 파일이 작고 저장이 빨라 — 긴 학습 도중에 몇 epoch 마다 checkpoint 찍을 때 딱 이거야.
함정: architecture 는 직접 다시 빌드
파일에 architecture 가 없으니까 로드는 2 단계 춤이야: 코드로 모델을 먼저 만들고, 거기에 load_weights 로 weight 를 부어. 이때 만드는 모델이 저장된 거랑 layer 하나하나 똑같아야 해 — shape 도 순서도. 안 맞으면 로드가 시끄럽게 터지거나, 더 나쁘게는 조용히 tensor 가 어긋나. 이게 .keras 대비 trade-off 야: self-describing 안전성을 크기·속도랑 맞바꾸고, build 코드를 동기화 상태로 유지할 책임을 네가 떠안는 거지.
거대 모델은 shard 로
아주 큰 모델은 weight 파일 하나가 감당이 안 돼. Keras 3.10+ 는 max_shard_size 로 shard 크기를 제한할 수 있어 — "2GB" 넘기면 weight 가 여러 파일로 자동 분할돼서 파일시스템·업로드 한도 밑으로 떨어져. 로드할 땐 알아서 다시 합쳐.