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

실전 — 저장 → 백엔드 간 불러오기 → 내보내기

~8 min · serialize

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

트랙의 전체 흐름을 한 번에 실행해

.keras 형식, 백엔드 간 불러오기, export()는 서로 떨어진 기술이 아니야. 모델을 다시 학습하지 않고 빠른 학습 엔진에서 안정적인 서빙 실행 환경까지 옮기는 하나의 파이프라인을 이루는 세 단계야.

세 단계는 서로 다른 실행 환경에서 이어져

1단계 — 빠른 환경에서 학습. JAX 백엔드로 모델을 만들고 학습한 뒤 model.keras에 저장해. 옵티마이저 상태도 들어 있으므로 이 체크포인트에서 완전히 재개할 수 있어. 2단계 — 안정적인 환경에서 불러오기. TensorFlow 백엔드를 선택한 별도 프로세스에서 같은 파일을 load_model로 읽어. 가중치가 백엔드에 독립적이라 전달 과정에서 잃는 정보가 없어. 3단계 — 운영 형식으로 내보내기. 불러온 모델을 export()로 서빙 형식에 투영해 TF Serving, TFLite, TF.js로 배포해.

백엔드는 프로세스 경계에서 바뀌어

각 단계가 자신의 KERAS_BACKEND를 가진 별도 스크립트인 이유가 있어. 백엔드는 import keras 시점에 고정되므로 프로그램 중간에는 실행 엔진을 바꿀 수 없어. 전환은 프로세스 경계에서 일어나고, .keras 파일이 모델을 그 경계 너머로 온전히 옮기는 계약 역할을 해. 파일은 고정되고 양쪽 백엔드는 교체할 수 있는 구조야.

Code

학습(JAX) → 저장 → 불러오기(TensorFlow) → 운영 형식 내보내기·python
# Step 1: Train on JAX
os.environ["KERAS_BACKEND"] = "jax"
import keras
model = build_model()
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy")
model.fit(x_train, y_train, epochs=10)
model.save("model.keras")

# Step 2: Load on TensorFlow
# (In a new script with KERAS_BACKEND="tensorflow")
model = keras.models.load_model("model.keras")

# Step 3: Export for production
model.export("production_model", format="tf_saved_model")
# Deploy with TF Serving, TFLite, or TF.js

External links

Exercise

CIFAR-10 모델의 전체 수명 주기를 실행해: TensorFlow에서 학습 → .keras 저장 → PyTorch에서 불러와 평가 → JAX에서 불러와 평가 → 내보내기 → TFLite 변환. 각 단계의 실행 명령을 운영 절차서에 기록해.

Progress

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

댓글 0

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

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