[텐서플로우] 모델 저장
in ML
그래프와 가중치를 통째로 저장합니다.
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 차이
서빙 시에는 그래프와 가중치가 모두 있는 pb
나 h5
형식을 사용함
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