-
(Keras) model, weight 저장 및 불러오기IT 지식 창고 2020. 10. 20. 18:51
keras에서 model과 weight를 저장 및 불러오는 방법은 여러가지가 있습니다.
1. model만 저장 및 불러오기 (json or yaml)
2. weights만 저장 및 불러오기(h5df)
3. 둘다 저장 및 불러오기(h5df)
각각의 방법들은 독립적이라고 생각하면 됩니다. 즉, 각 방법에 대한 keras 함수들이 정해져 있다고 보시면 됩니다.
1. model만 저장 및 불러오기
- json으로 model 저장
# keras.models를 통해 만들어진 Sequential이나 Model model_json = model.to_json() with open("model.json", "w") as json_file : json_file.write(model_json)
- json으로 model 불러오기
# json으로 만든 model은 따로 함수를 또 import를 해야함 from keras.models import model_from_json json_file = open("model.json", "r") loaded_model = json_file.read() json_file.close() model = model_from_json(loaded_model)
2. weights만 저장 및 불러오기
- weights 저장
# keras.models를 통해 만들어진 Sequential이나 Model model.save_weights('model_weights.h5')
- weights 불러오기
model.load_weights('model_weights.h5')
3. model과 weights 동시에 저장 및 불러오기
- model과 weight를 h5형태로 저장
# keras.models를 통해 만들어진 Sequential이나 Model model.save('model.h5')
- 불러오기
# keras.models를 통해 만들어진 Sequential이나 Model model.load_model('model.h5')
다시 말하지만, 3가지 방법은 독립적이며 각 파일 또한 독립적으로 다뤄야합니다.
model.save를 통해 만들어진 h5와 weights만 저장된 h5는 엄연히 다른 데이터가 들어가 있기 때문에 서로 호환해서 사용할 수는 없습니다.
헷갈려서 에러가 발생 할 수 있으니, 3가지 방법은 독립적으로 생각하시는 게 좋습니다.
'IT 지식 창고' 카테고리의 다른 글
(Keras) keras segmentation model API (0) 2020.11.24 (IDE) ctrl + /가 /로 나올 때 (주석처리가 안될 때) (0) 2020.10.28 (flask) 상용화를 위한 waitress server 사용법 (0) 2020.10.19 (OpenCV) image를 resize함수를 통한 크기 수정 (0) 2020.10.19 (flask) windows에서 flask와 apache 연동 (0) 2020.10.19 댓글