
71
2
장
컴퓨터 비전 소개
있습니다.
60
,
000
개는
64
로 나누어 떨어지지 않기 때문입니다.
이제 각 배치에 대해 이전 예제에서 보았던 것과 동일한 루프를 반복합니다. 모델로부터 예
측을 얻고, 손실을 계산하고, 손실의 그레이디언트를 역전파하고, 새로운 파라미터를 최적화
합니다.
모든 데이터(즉, 모든 배치)를 처리하게 되는 훈련 사이클을
에폭
epoch
이라 합니다. 너무 출력
이 많아지지 않도록
100
번의 배치마다 훈련 상태를 출력합니다.
다섯 번의 에폭 동안 신경망을 훈련하려면 다음과 같은 코드를 사용합니다.
# 훈련 과정
epochs = 5
for t in range(epochs):
print(f"에폭{t+1}\n-------------------------------")
train(train_loader, model, loss_function, optimizer)
print("완료!")
이 코드는 단순히 훈련 함수를 다섯 번 호출합니다. 예측을 계산하고, 손실을 구하고, 파라미터
를 최적화하는 훈련 루프에 신경망을 다섯 번 반복 적용하는 것입니다.
2.4
신경망 훈련
코드를 실행하면 에폭마다 신경망이 훈련되는 것을 볼 수 있고, 훈련이 끝나면 다음과 같은 결
과가 나옵니다.
에폭 5
-------------------------------
손실: 0.429329 ...