마지막으로 모델 평가 결과를 확인해 보겠습니다.
코드 8-34 모델 평가
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 [==============================] - 13s 16ms/step - loss: 1.5000 - accuracy: 0.8696
Score: loss of 1.5000197887420654; accuracy of 86.9599997997284%
체크포인트를 이용한 정확도를 확인했지만 크게 높아지지는 않았습니다. 앞에서도 언급했지만, 조기 종료는 성능 최적화를 보장하지 않으며, 단지 훈련의 종료 시점을 알 수 있도록 도와줍니다. 하지만 이번 예제에서는 학습 횟수를 200000 이상 진행한다면 어느 정도 성능이 향상되는 것을 확인할 수 있습니다. 또한, 조기 종료로 훈련 횟수도 많이 줄어들 것입니다(훈련을 300회 진행했을 때는 훈련을 83회 진행했습니다).
추가 학습을 진행한다면 훈련 횟수를 증가시키고 진행해 보기 바랍니다.