티스토리 뷰
Keras 모델을 저장하기
saved_model_dir = os.getcwd() + "/model"
saved_model_path = saved_model_dir + '/mnistst_model'
os.makedirs(saved_model_dir, exist_ok=True)
model.save(saved_model_path)
위의 코드로 모델을 저장하면 "~/model/mnist_model" 폴더가 생기고 그 안에 asset 폴더, variables 폴더, 그리고 saved_model.pb 파일이 생성된다.
모델을 변환하기
TensorFlow 모델을 TensorFlow Lite 형식으로 변환하는 Python API가 제공된다.
저장되어있는 TensorFlow 모델을 읽어서 변환 후 저장하는 방법은 아래와같다.
import tensorflow as tf
import os
saved_model_path = os.getcwd() + '/model/mnistst_model'
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_path)
tflite_model = converter.convert()
open("mnist_model.tflite", "wb").write(tflite_model)
* 참고: www.tensorflow.org/lite/guide/get_started?hl=ko#2_convert_the_model_format
모델 최적화
TensorFlow는 모델의 크기와 성능을 최적화 하는 도구를 제공한다.
모델 내에서 값과 연산의 정밀도를 줄임으로써 양자화는 모델의 크기와 추론에 필요한 시간을 줄일 수 있다.
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(saved_model_path)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_quantized_model = converter.convert()
open("mnist_model.tflite", "wb").write(tflite_quantized_model)