# 모델 학습 과정 표시
fig, loss_ax = plt.subplots()
acc_ax = loss_ax.twinx()
loss_ax.plot(hist.history['loss'], 'y', label='train loss')
loss_ax.plot(hist.history['val_loss'], 'r', label='val loss')
acc_ax.plot(hist.history['acc'], 'b', label='train acc')
acc_ax.plot(hist.history['val_acc'], 'g', label='val acc')
loss_ax.set_xlabel('epoch')
loss_ax.set_ylabel('loss')
acc_ax.set_ylabel('accuracy')
loss_ax.legend(loc='upper left')
acc_ax.legend(loc='lower left')
plt.show()
모델 학습 과정을 그래프에 표시하는 과정에서KeyError : 'acc'
라는 에러가 떴다.
'acc'
을 'accuracy'
로 바꿔보라는 것을 보고 바꿔봤는데도 아래와 같이 또 KeyError,, 😭
해결방법
더 찾아보니 Keras 2.3.x의 최근 변경 사항 때문일 수 있다고 한다.
실제로 Keras 2.3.0 Release note을 보면, Breaking changes에 다음과 같은 안내 문구가 있다.
model.compile()
에서 metrics=["accuracy"]
를 지정 하면 히스토리 객체에 'accuracy'
및 'val_accuracy'
키가 있다는 것이고, metrics=["acc"]
로 지정하면 'acc'
및 'val_acc'
키가 있다는 것이다.
따라서 아래 코드와 같이 model.compile()
안에 metrics=["acc"]
를 추가했다.
model.compile(loss='mse', optimizer='rmsprop', metrics=["acc"])
'프로젝트 > AI ANC' 카테고리의 다른 글
[LSTM] 삼성전자 주식, 이더리움 시세 예측 (Python 딥러닝) (0) | 2021.08.09 |
---|---|
[음성신호처리] Sampling & Quantization (0) | 2021.08.09 |