개요
하나의 파이썬 파일로 코드를 작성해서 모델링을 하는 상황이 있다고 치자.
이때 한번 training을 할 때 대용량 데이터를 트레이닝 한 뒤 model을 save하지 않으면 다시 처음부터 트레이닝을 진행해야 한다.
이 때 프로그램 수행이 종료되기 전에 model 구성 및 weight에 대해 저장을 해놓으면 편리한데 이방법을 찾아 본 뒤 정리해둔다.
코드
패키지 로드
from keras.models import Sequential
from keras.layers import Dense
from keras.callbacks import ModelCheckpoint
import numpy
import pandas as pd
model save
model_json = model.to_json()
with open("model.json", "w") as json_file :
json_file.write(model_json)
model weight save
model load
from keras.models import model_from_json json_file = open("model.json", "r")
loaded_model_json = json_file.read() json_file.close()
loaded_model = model_from_json(loaded_model_json)
model weight load
model load and evaluation
유의할 점은 model load 후 다시 compile
을 해야 한다는 점이다.
loaded_model.compile(loss="binary_crossentropy", optimizer="rmsprop", metrics=['accuracy'])
score = loaded_model.evaluate(X,Y,verbose=0)