본문 바로가기
C.W.K.
Stream
Lesson 05 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()는 학습을 위한 것, export()는 실행 환경을 위한 것

save()는 나중에 학습을 이어 갈 수 있도록 모델 상태를 온전히 왕복시키는 기능이야. 반면 export()는 Keras를 모를 수도 있는 서빙 시스템에서 실행할 추론 전용 결과물을 만들어. model.export()format= 인자가 목표 배포 환경을 결정해.

한 호출에서 네 가지 목적지로

tf_saved_model은 TensorFlow 생태계의 서빙 형식으로 TF Serving이나 TF.js에 적합해. onnx는 공급 업체에 중립적인 교환 표준이라 Triton, ONNX Runtime, 하드웨어 업체의 추론 환경에서 사용해. openvino는 CPU 중심 배포에 맞춘 Intel 최적화 추론 엔진을 겨냥해. 예전에 TFLite라 불린 litert는 작고 양자화할 수 있어 모바일과 가장자리 장치, 마이크로컨트롤러에 알맞아.

형식 이름을 외우는 것보다 중요한 원칙은 학습한 모델이 단일 원본이고, 내보내기는 그 원본을 필요한 실행 환경에 맞게 투영하는 과정이라는 점이야.

Code

네 가지 서빙 형식으로 내보내기·python
# TF SavedModel (for TF Serving)
model.export("model_dir", format="tf_saved_model")

# ONNX (cross-platform inference)
model.export("model.onnx", format="onnx")

# OpenVINO (Intel optimized inference)
model.export("model_ov", format="openvino")

# TFLite (mobile/edge)
model.export("model.tflite", format="litert")

External links

Exercise

MNIST를 학습한 뒤 model.save('mnist.keras')와 model.export('mnist_export')를 모두 실행해 디스크 크기를 비교해. 이어서 내보낸 모델을 TFLite로 변환하고 .tflite 파일이 훨씬 작은지 확인해.

Progress

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

댓글 0

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

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