더북(TheBook)

 

2모델 업데이트하기

 

모델을 저장하고 재사용하는 방법은 save() 함수와 load_model() 함수를 통해 앞서 실습해 보았습니다(13장 4.모델 저장과 재사용 참조). 이번에는 모델을 그냥 저장하는 것이 아니라 에포크(epoch)마다 모델의 정확도를 함께 기록하면서 저장해 보겠습니다.

먼저 모델이 저장될 폴더를 지정합니다. 여기서는 현재 디렉터리 안에 model 폴더라고 하겠습니다. 먼저 해당 폴더가 있는지 확인하고 없으면 폴더를 만듭니다. 에포크 횟수와 이때의 테스트셋 오차 값을 이용해 파일 이름을 만들어 hdf 5라는 확장자로 저장합니다. 예를 들어, 100번째 에포크를 실행하고 난 결과 오차가 0.0612라면, 파일명은 100-0.0612.hdf 5가 되는 것입니다.

 

import os


MODEL_DIR = ’./model/’

if not os.path.exists(MODEL_DIR):

    os.mkdir(MODEL_DIR)


modelpath=”./model/{epoch:02d}-{val_loss:.4f}.hdf5”

 

이제 모델을 저장하기 위해 케라스의 콜백 함수 중 ModelCheckpoint 함수를 불러옵니다.

 

from keras.callbacks import ModelCheckpoint

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.