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

TensorFlow 백엔드

~8 min · backend

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

기본 백엔드이자 가장 넓은 배포 경로

TensorFlow 2.16.1 이상은 Keras 3의 기본 백엔드야. 별도 설정을 하지 않으면 TensorFlow가 선택돼. 강점은 단순히 학습 속도에 있지 않아. 학습한 모델을 실제 제품까지 옮기는 경로가 가장 넓고 성숙하다는 점이 중요해.

  • TPU를 이용한 대규모 학습을 안정적으로 지원해.
  • TF Serving으로 제품 수준의 HTTP와 gRPC 서비스를 만들 수 있어.
  • TFLite를 통해 모바일과 에지 장치에 배포할 수 있어.
  • TensorFlow.js를 이용하면 브라우저에서도 추론할 수 있어.
  • 문서와 사용자 공동체의 규모가 어느 백엔드보다 커.

목적지가 중요할 때 고르는 백엔드

제품 파이프라인, 모바일·에지 출시, 이미 TensorFlow로 통일된 조직처럼 배포 목적지가 분명하다면 TensorFlow가 좋은 선택이야. model.export()는 TF Serving에서 바로 읽을 SavedModel을 만들고, 같은 결과물을 다시 모델링하지 않고 TFLite로 변환할 수도 있어(아래 코드 블록). TensorFlow 1.x의 그래프 모드와 달리 지금은 즉시 실행이 기본이라 print() 같은 평범한 Python 도구로 값을 확인하기도 쉬워.

Code

TensorFlow로 학습한 뒤 TF Serving용 SavedModel 내보내기·python
os.environ["KERAS_BACKEND"] = "tensorflow"
import keras

model = keras.Sequential([...])
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy")
model.fit(x_train, y_train)

# Export for TF Serving
model.export("serving_model", format="tf_saved_model")

External links

Exercise

KERAS_BACKEND=tensorflow로 작은 MNIST 모델을 만들고 한 에포크 학습해. model.export('mymodel')를 호출한 뒤 SavedModel에 assets/, variables/, saved_model.pb가 만들어졌는지 확인해.

Progress

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

댓글 0

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

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