【发布时间】:2023-03-03 09:24:21
【问题描述】:
我正在使用 LSTM 将 5 个序列作为输入来预测另外 5 个。我想知道如何预测超过 5 个时间步。我认为它与 hidden_dim 有关,但我无法弄清楚。
这是我的代码
class LSTM(nn.Module):
def __init__(self, seq_len=5, n_features=256, n_hidden=256, n_layers=1, output_size=1):
super().__init__()
self.n_features = n_features
self.seq_len = seq_len
self.n_hidden = n_hidden
self.n_layers = n_layers
self.l_lstm = nn.LSTM(input_size=self.n_features, hidden_size=self.n_hidden, num_layers=self.n_layers, batch_first=True)
def init_hidden(self, batch_size):
hidden_state = torch.zeros(self.n_layers,batch_size,self.n_hidden).to(device)
cell_state = torch.zeros(self.n_layers,batch_size,self.n_hidden).to(device)
self.hidden = (hidden_state, cell_state)
def forward(self, x):
lstm_out, self.hidden = self.l_lstm(x,self.hidden)
return lstm_out
如果有人知道如何扩展预测范围或者可以提出更好的 LSTM 编写方法,我将不胜感激。
【问题讨论】:
-
在你的 lstm 层之后添加一个带有步数的密集层
-
您好,请您提供一个示例。我不认为我完全遵循。
标签: python machine-learning pytorch lstm