열심히 학습시킨 모델이 있다면 매번 다시 할 필요 없이 파일로 모델 정보를 저장할 수 있다. 모델 정보란 layer와 파라미터(가중치), 학습에 필요한 optimzer 등이 있다. keras에서는 대용량 데이터에 용이한 hdf5 포맷으로 이를 지원한다.
모델의 네트워크 구성
저장하기
model_json = model.to_json()
with open('model.json', 'w') as json_file :
json_file.write(model_json)
불러오기
from keras.models import model_from_json
with open('model.json', 'r') as file :
model_json = file.read()
model = model_from_json(model_json)
모델의 네트워크 가중치 저장
저장하기
model.save_weights('weight.h5')
불러오기
model.load_weights('weight.h5')
위 두가지를 사용해서 모델을 복구할 수 있지만 현재 상태만 알 수 있을 뿐 optimzer를 포함한 compile 단계는 다시 거쳐야 한다. 이 전부를 포함해서 저장/복구하는 방법도 있다.
전부 (모델 구조, 가중치, 옵티마이저 등등)
저장하기
model.save('model.h5')
불러오기
from keras.models import load_model
model = load_model('model.h5')
'딥러닝' 카테고리의 다른 글
딥러닝에 사용하는 확률분포 함수 (0) | 2020.03.30 |
---|---|
Keras로 CartPole 강화학습 (0) | 2019.12.08 |
Keras로 간단한 CNN 구현하기 (0) | 2019.11.13 |
알파고의 몬테카를로 방법 (0) | 2019.11.10 |
알파고의 강화학습 (0) | 2019.11.03 |
댓글