더북(TheBook)

모델을 훈련시키기 위해 변수 값 및 옵티마이저, 손실 함수도 지정합니다.

코드 7-70 옵티마이저와 손실 함수 지정

num_epochs = 1000
learning_rate = 0.0001

input_size = 4
hidden_size = 2
num_layers = 1 ------ GRU 계층의 개수

num_classes = 1
model = GRU(num_classes, input_size, hidden_size, num_layers, X_train_tensors_f.shape[1])

criterion = torch.nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)

준비된 데이터셋과 모델의 네트워크를 이용하여 모델을 학습시킵니다.

코드 7-71 모델 학습

for epoch in range(num_epochs):
    outputs = lstm1.forward(X_train_tensors_f)
    optimizer.zero_grad()
    loss = criterion(outputs, y_train_tensors)
    loss.backward()

    optimizer.step()
    if epoch % 100 == 0:
        print("Epoch: %d, loss: %1.5f" % (epoch, loss.item()))
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.