MapleStory Finger Point

미니 프로젝트/SCOGEN

[4] Keras h5 모델 저장 형식 변경

吳鍾振 2024. 9. 21. 20:20

현재 음악 생성 모델의 확장자는 h5인데,

h5는 HDF5의 줄임말으로, 영어로는 Hierarchical Data Format version 5 이다.

h5 모델은 Keras 모델 저장 목적이며, 대용량의 복잡한 데이터를 저장하고 관리하기 위한 파일 형식.

머신 러닝 모델 h5는 모델 구조(아키텍처), weight 값, loss 값 등이 저장되어 있기 때문에 계층적 구조라는 특징을 가지고 있으며, 메타 데이터를 지원하여 데이터에 대한 설명이나 추가 정보를 저장할 수 있다.

h5 모델 학습 중에 아래와 같은 경고 메시지를 보게 되었다.

WARNING:absl:You are saving your model as an HDF5 file via `model.save()` or `keras.saving.save_model(model)`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')` or `keras.saving.save_model(model, 'my_model.keras')`.

해석해보면 HDF5 형식은 이제 legacy(*유산이라는 뜻이지만 구식이라고 번역할 수 있음) 포맷으로 간주된다는 말인데, 물론 지원하고는 있지만 앞으로는 사용을 권장하지 않는다는 의미이다.

앞으로는 '.keras' 확장자를 가진 모델을 사용하는 것이 권장된다.

.keras 모델은 h5의 계층적 구조와는 다르게 JSON 구조를 가지고 있기 때문에 더 높은 유연성을 가질 수 있다.

또한 상대적으로 작은 파일 크기이기 때문에 더 빠른 저장 및 로딩 속도를 가진다는 장점이 있다.

 

따라서 모델 저장 구문을 아주 살짝 수정하면 모델 저장 형식이 바뀌며 경고 문구가 뜨지 않는다.

from tensorflow.keras.models import Model
...

model = Model(...)

model.save('mymodel.h5')	# 이전에 사용했던 모델 형식
model.save('mymodel.keras')	# 앞으로는 keras 형식으로 모델 저장

 

 


 

 

반응형