현재 음악 생성 모델의 확장자는 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 형식으로 모델 저장
반응형
'미니 프로젝트 > SCOGEN' 카테고리의 다른 글
[3] 악보 생성 성공 및 해결 사항 (0) | 2024.09.02 |
---|---|
[2] 악보 생성 구조 및 실행 방법 (0) | 2024.08.20 |
[1] 뇌세포 들썩들썩! 스터디의 맛에 빠지다 (0) | 2024.08.12 |