from tensorflow.keras.callbacks import ModelCheckpoint
mcp = ModelCheckpoint(filepath='/content/model1.h5', # 모델 저장 경로
monitor='val_loss', # 모델 저장의 관심 대상
verbose=1, # 어느 시점에서 저장되는지 알려줌
save_best_only=True, # 최고 성능 모델만 저장
save_weights_only=False) # True : 가중치만 저장 | False : 모델 구조 포함하여 저장
history = model1.fit(flow_trainIDG, epochs=10000, verbose=1,
validation_data=flow_valIDG,
callbacks=[es, mcp]
)
model1.save('my_first_save.h5')
clear_session()
model = keras.models.load_model('my_first_save.h5')
model.summary()
joblib 라이브러리 사용, 범용성 높다
import joblib
joblib.dump( model1, 'model.pkl') # 저장
model = joblib.load('model.pkl') # 불러오기
# 저장
model.save("my_model.keras") #압축파일로 저장
#model.save('my_model') #일반폴더로 저장
# 로딩
mymodel = tf.keras.models.load_model("my_model.keras")
# 모델을 이용합니다.
mymodel.predict(독립[:5])
1번과 2번 서로 다른 방식에서 저장한 모델은 동일하다!
model.get_weights로 각각 가중치 값을 확인해 보면 알수 있다.