플롯을 통해 모델의 학습 진행 상황을 시각적으로 평가할 수 있으며, 손실과 정확도의 변화를 명확히 파악할 수 있다.
# 보조 y-축을 가진 플롯을 생성하려면 서브플롯을 생성해야 합니다
fig, ax1 = plt.subplots()
# 제목 설정 및 x-축 레이블 회전
plt.title("Accuracy & Loss vs Epoch")
plt.xticks(rotation=45)
# twinx를 사용하여 보조 y-축을 생성합니다
ax2 = ax1.twinx()
# 손실 로그와 정확도 로그를 플롯합니다
ax1.plot(epoch_log, loss_log, 'g-')
ax2.plot(epoch_log, accuracy_log, 'b-')
# 레이블 설정
ax1.set_xlabel('Epochs')
ax1.set_ylabel('Loss', color='g')
ax2.set_ylabel('Test Accuracy', color='b')
plt.show()
에포크 수에 따른 손실(Loss)과 테스트 정확도(Test Accuracy)를 보여준다.
에포크(학습수)가 늘어날수록
손실값이 줄어들고 정확도가 늘어난다.
에포크의 수를 조절하고싶다면
참고해서
ax1.plot(epoch_log, loss_log, 'g-')
ax2.plot(epoch_log, accuracy_log, 'b-')
저 값을 수정하면 된다.
이것으로 PyTorch로 CNN 구현하기를 마치겠다.