더북(TheBook)

훈련된 모델의 평가를 확인해 보겠습니다.

코드 8-32 모델 평가

from tensorflow.keras.models import load_model
model = load_model(checkpoint_path)
scores = model.evaluate(x_test, y_test, verbose=1)
print(f'Score: {model.metrics_names[0]} of {scores[0]}; {model.metrics_names[1]} of
      {scores[1]*100}%')

다음은 모델 평가 실행 결과입니다.

782/782 [==============================] - 9s 12ms/step - loss: 1.9404 - accuracy: 0.8711
Score: loss of 1.9403566122055054; accuracy of 87.11199760437012%

체크포인트를 이용하여 정확도를 측정했더니 88%가 나왔습니다. 나쁘지 않은 결과이지만, 조기 종료를 적용한 결과와 비교해 보겠습니다.

코드 8-33 조기 종료를 적용한 모델 훈련

from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint
keras_callbacks = [
    EarlyStopping(monitor='val_loss', patience=30, mode='min', min_delta=0.0001),
    ModelCheckpoint(checkpoint_path, monitor='val_loss', save_best_only=True, mode='min')
] ------ ①

model.fit(x_train, y_train,
          batch_size=batch_size,
          epochs=epochs,
          validation_split=0.2,
          callbacks=keras_callbacks)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.