Pytorch中LSTM输入输出的参数含义
Pytorch LSTM源码
1 | class RNNBase(Module): |
初始化函数参数含义
- input_size – 输入数据的大小,即词向量维度或者股票数据自变量的维度,如最低价、最高价等。
- hidden_size – 隐藏层的大小(即隐藏层节点数量)。
- num_layers – LSTM层数量,默认等于1。
- bias – 偏置。
- batch_first – 为
True
时,batch_size
处于第一维度(h_n
与c_n
维度顺序不受影响),默认为False
。 - dropout – 如果非0,就在除了最后一层的其它层都插入
Dropout
层,默认为0。 - bidirectional – 为
True
时是双向LSTM,即BiLSTM,默认为False
。
输入数据格式
input(seq_len, batch_size, input_size)
- seq_len/time_step –序列的长度 ,即句子的长度或单位数据的股票数据条数。
- batch_size – 批次大小 ,即句子的条数或n个时间单位的股票数据。
- input_size – 同初始化参数
h_0(num_layers * num_directions, batch_size, hidden_size)
- num_layers * num_directions, 即LSTM的层数乘以方向数量。这个方向数量是由前面介绍的
bidirectional
决定,如果为False
,则等于1;反之等于2。 - batch_size:同上。
- hidden_size: 隐藏层节点数。
c_0(num_layers * num_directions, batch_s。ize, hidden_size)
同h0。
输出数据格式
output(seq_len, batch_size, num_directions * hidden_size)
这个输出tensor包含了LSTM模型最后一层每个time step
的输出特征。
h_n(num_layers * num_directions, batch_size, hidden_size)
只会输出最后个time step
的隐状态结果。
c_n :(num_layers * num_directions, batch, hidden_size)
只会输出最后个time step
的cell状态结果。
参考文章
理解Pytorch中LSTM的输入输出参数含义 - 知乎 (zhihu.com)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Sun Boy‘s Blog!
评论