pytorch的LSTM比较复杂,所以单独拿出来说了。
LSTM
1 | nn.LSTM()参数: |
input_size和hidden_size什么区别?
input_size看作embedding dim,hidden_size看作W的第一维(也可能是最后一维).
https://zhuanlan.zhihu.com/p/79064602
输入
– input (seq_len, batch, input_size)seq_len:每个句子的长度(句子中单词的个数),batch:每次喂多少个句子,input_size:每个单词用多少维的向量表示。
– h_0 (num_layers * num_directions, batch, hidden_size)
– c_0 (num_layers * num_directions, batch, hidden_size)$h_0$和$c_0$是隐藏层的初始状态。num_directions取值为1或2,表示是否为双向LSTM
- 输出
– output (seq_len, batch, num_directions * hidden_size)
– h_n (num_layers * num_directions, batch, hidden_size)
– c_n (num_layers * num_directions, batch, hidden_size)
1 | lstm = nn.LSTM() |
1 | import torch |
将inputs作为整个
1 | lstm = nn.LSTM(input_size=3,hidden_size=3,batch_first = False) |