데이터셋 준비, 모델 학습을 위한 함수가 완료되었습니다. 훈련을 위해 정의된 train_model() 함수를 호출하여 모델을 학습시켜 봅시다. 이때 에포크는 10으로 합니다. 이 역시 예제를 진행할 PC(노트북)의 성능 및 학습 시간을 고려하여 최소한의 에포크로 지정했습니다.
코드 6-34 모델 학습
num_epoch = 10
model = train_model(model, dataloader_dict, criterion, optimizer, num_epoch)
다음은 모델 학습에 대한 결과입니다. 역시 훈련과 검증 데이터셋이 적기 때문에 학습 결과가 좋지 않습니다. 데이터셋을 증가시키면 결과가 좋아질 수 있으므로 PC(노트북)의 성능이 좋다면 데이터셋을 증가시켜 학습해 보기 바랍니다.
Epoch 1/10
--------------------
100% 13/13 [00:31<00:00, 2.15s/it]
train Loss: 0.6929 Acc: 0.4950
100% 3/3 [00:03<00:00, 1.15s/it]
val Loss: 0.6926 Acc: 0.5109
Epoch 2/10
--------------------
... 중간 생략 ...
--------------------
100% 13/13 [00:37<00:00, 2.40s/it]
train Loss: 0.6925 Acc: 0.5025
100% 3/3 [00:03<00:00, 1.11s/it]
val Loss: 0.6924 Acc: 0.5109
Epoch 10/10
--------------------
100% 13/13 [00:38<00:00, 2.29s/it]
train Loss: 0.6924 Acc: 0.5025
100% 3/3 [00:03<00:00, 1.05s/it]
val Loss: 0.6924 Acc: 0.5109
Training complete in 6m 9s