关于nn.LSTM的参数,官方文档解释:
重点参数解释说明:
1.input_size在时间序列预测中,比如需要预测CO的浓度,如果使用单变量预测的话,input_size = 1,但我们如果使用多变量预测,利用温度、湿度、气压、风向、风速来预测CO的浓度,此时input_size=5
2.hidden_size隐藏层节点的个数,可以随意设置
3.num_layers:层数
4.batch_first:默认为False
INPUT:
Inputs的相关解释说明:
input(seq_len,batch_size,input_size)
seq_len:在时间序列预测中,假如我们用前6天(624个小时)的CO的浓度来预测接下来3天的CO的浓度,则seq_len=624
batch_size:一次性输入LSTM中的样本个数,在时间序列预测中,可以一次输入很多条数据
input_size:可以简单理解为特征的个数
(h_0,c_0):
h_0(num_directionsnum_layers,batch_size,hidden_size)
c_0(num_directionsnum_layers,batch_size,hidden_size)
h_0和c_0的shape一致
num_directions:如果是双向LSTM,则num_directions=2;否则num_directions=1
num_layers:见前文
batch_size:见前文
hidden_size:见前文
OUTPUTS:
output(seq_len,batch_size,numdirections*hidden_size)
h_n和c_n的shape保持不变
batch_first:
如果在初始化LSTM时令batch_first=True,那么input和output的shape将由
input(seq_len,batch_size,input_size)
output(seq_len,batch_size,numdirectionshidden_size)
变为:
input(batch_size,seq_len,input_size)
output(batch_size,seq_len,numdirectionshidden_size)