1. Tensorflow 2.0을 활용한 딥러닝 모델 서빙하기
페이지 정보
작성자 관리자 댓글 0건 조회 2,532회 작성일 20-08-07 12:05본문
1. Tensorflow 2.0을 활용한 딥러닝 모델 서빙하기
Tensorflow 2.0에서는 케라스와 통합하고 eager execution (즉시실행)을 지원하게 되면서 훨씬 쉬워졌습니다.
딥러닝을 서비스에 실제로 적용하는 사례가 점점 많아짐에 따라, 딥러닝 모델 서빙에 대하여 소개해보려고 합니다.
텐서플로우에서 제공하는 텐서플로우 서빙과 도커를 활용하는 방법이 있습니다.
서빙을 하려면 모델이 있어야 합니다.
아래의 소스코드를 활용해서 간단한 모델을 한번 만들어보도록 하겠습니다.
# vi train.py
import tensorflow as tf
# mnist dataset 로딩
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
# 255로 나누어 0~1의 값으로 변환
x_train, x_test = x_train / 255.0, x_test / 255.0
# 모델을 생성
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss = 'sparse_categorical_crossentropy',
metrics=['accuracy'])
# 학습
model.fit(x_train, y_train, epochs=5)
# 평가
model.evaluate(x_test, y_test, verbose=2)
# 모델 저장
tf.saved_model.save(model, 'mnist/1')
텐서플로우를 활용하여 mnist 예제 데이터를 다운 받아서 활용했습니다.
텐서플로우 서빙을 이용하기 위해서는, saved model 형식으로 모델을 저장해주어야 합니다.
tf.saved_model.save() 함수를 활용하면 간단하게 저장할 수 있습니다.
주의해야할 점은 서빙의 경우엔 자동으로 디렉토리 내에서 최신 버전을 불러와서 서빙을 하도록 되어있어, 버전에 대한 디렉토리가 꼭 존재해야 하여 'mnist/1'과 같이 저장할 위치를 설정해주었습니다.
관련링크
- https://seokhyun2.tistory.com/39 1093회 연결
댓글목록
등록된 댓글이 없습니다.