【发布时间】:2019-08-19 20:37:49
【问题描述】:
我有一个包含 1000 个示例的数据集,其中每个示例都有 5 个特征(a、b、c、d、e)。我想将 7 个示例提供给 LSTM,以便它预测第 8 天的特征 (a)。
阅读 nn.LSTM() 的 Pytorchs 文档我想出了以下内容:
input_size = 5
hidden_size = 10
num_layers = 1
output_size = 1
lstm = nn.LSTM(input_size, hidden_size, num_layers)
fc = nn.Linear(hidden_size, output_size)
out, hidden = lstm(X) # Where X's shape is ([7,1,5])
output = fc(out[-1])
output # output's shape is ([7,1])
根据文档:
nn.LSTM 的输入是“input of shape (seq_len, batch, input_size)”,其中“input_size – 预期特征的数量输入 x",
输出是:“形状的输出(seq_len,batch,num_directions * hidden_size):包含LSTM最后一层的输出特征(h_t)的张量,每个t。”
在这种情况下,我认为seq_len 将是 7 个示例的序列,batch 是 1,input_size 是 5。所以 lstm 会消耗每个包含 5 个特征的示例,每次迭代都重新输入隐藏层。
我错过了什么?
【问题讨论】:
标签: machine-learning deep-learning lstm pytorch recurrent-neural-network