더북(TheBook)

모델 훈련에 필요한 모든 준비가 완료되었습니다. 이제 준비된 데이터를 이용하여 모델을 학습시킵니다.

코드 2-14 모델 학습

epochs = 500
aggregated_losses = []
train_outputs = train_outputs.to(device=device, dtype=torch.int64)
for i in range(epochs): ------ for 문은 500회 반복되며, 각 반복마다 손실 함수가 오차를 계산
    i += 1
    y_pred = model(categorical_train_data)
    single_loss = loss_function(y_pred, train_outputs)
    aggregated_losses.append(single_loss) ------ 반복할 때마다 오차를 aggregated_losses에 추가

    if i%25 == 1:
        print(f'epoch: {i:3} loss: {single_loss.item():10.8f}')

    optimizer.zero_grad()
    single_loss.backward() ------ 가중치를 업데이트하기 위해 손실 함수의 backward( ) 메서드 호출
    optimizer.step() ------ 옵티마이저 함수의 step( ) 메서드를 이용하여 기울기 업데이트

print(f'epoch: {i:3} loss: {single_loss.item():10.10f}') ------ 오차가 25 에포크마다 출력
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.