
310
1
부
모델 구축
self.lstm1 = nn.LSTM(input_size=input_size,
hidden_size=hidden_size,
batch_first=True,
dropout=dropout_rate) # LSTM에 드롭아웃을 추가합니다.
self.lstm2 = nn.LSTM(input_size=hidden_size,
hidden_size=hidden_size,
batch_first=True,
dropout=dropout_rate) # LSTM에 드롭아웃을 추가합니다.
# 마지막 출력 층 이전에 층을 더 추가합니다.
self.fc1 = nn.Linear(hidden_size, hidden_size)
self.relu = nn.ReLU()
self.linear = nn.Linear(hidden_size, output_size)
def forward(self, x):
out1, _ = self.lstm1(x) # LSTM의 반환 크기 (output, (h_n, c_n))
out2, _ = self.lstm2(out1) # 변수로 은닉 상태와 셀 상태를 무시합니다.
last_out = out2[:, –1, :]
output = self.linear(last_out)
return output
하이퍼파라미터, ...