[텐서플로우] 모델 저장

그래프와 가중치를 통째로 저장합니다.

SavedModel 포맷

model.save('saved_model/my_model')

my_model 하위에 아래와 같은 파일들이 생김

my_model
+-- assets
+-- saved_model.pb
+-- variables

저장된 모델로부터 로드

new_model = tf.keras.models.load_model('saved_model/my_model')

HDF5 포맷

.h5 확장자 지정시 HDF5 포맷으로 저장됨

model.save('my_model.h5')

저장된 모델로부터 새로운 케라스 모델을 로드할 수 있음

new_model = tf.keras.models.load_model('my_model.h5')

ckpt, pb, h5 차이

서빙 시에는 그래프와 가중치가 모두 있는 pbh5 형식을 사용함

ckpt 파일

  • 체크포인트 파일
  • 보통 가중치만 저장할 때 사용
    • .ckpt-meta: 모델(Graph)만 있는 파일
    • .dkpt-data: 가중치만 있는 파일

pb 파일

  • Protobuf 형식
  • 모델 그래프와 가중치 모두 있는 파일

h5 파일

  • HDF5 형식
  • 모델 그래프와 가중치 모두 있는 파일

참고

  • https://tensorflow.org/tutorials/keras/save_and_load
  • https://i-am-eden.tistory.com/5

© 2021. All rights reserved.

Powered by Hydejack v9.1.4