
292
1
부
모델 구축
로 이곳입니다.
정방향 계산의 나머지 부분은 매우 간단합니다. 그냥 데이터를 다른 층에 통과시키면 됩니다.
손실 함수와 옵티마이저도 간단하며, 평균 제곱 오차와
Adam
을 사용합니다.
criterion = nn.MSELoss()
optimizer = optim.Adam(model.parameters(), lr=learning_rate)
훈련하면 이전처럼 모델을 얻을 수 있습니다. 모델에서 예측을 만들려면 훈련했을 때와 동일하
게 데이터 로더를 사용합니다. 예를 들면 다음과 같습니다.
# DataLoader를 만듭니다.
batch_size = 32
train_loader = DataLoader(train_dataset, batch_size=batch_size,
shuffle=True)
val_loader = DataLoader(val_dataset, batch_size=batch_size, shuffle=False)
다음은 배치별로 전체 시계열 데이터를 예측할 수 있는 헬퍼 함수입니다.
def predict(model, loader):
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.eval()
predictions = []
with torch ...