LSTM 和 LSTMCell的关系
很显然,LSTMCell是组成LSTM整个序列计算过程的基本组成单元,也就是进行sequence中一个word的计算
LSTMCell
- input_size: word embedding dim
- hidden_size: hidden_dim
Parameters
examples:
"""
input_size:10 equals to (embedding_dim in word embedding)
hidden_dim:20
batch_size:3
seq_len:6
LSTMCell:
input : (batch_size,input_size)
hx: (batch_size,hidden_dim)
cx: (batch_size,hidden_dim)
for循环:对整个序列逐个单词输入,依次计算,当前Cell的(hx,cx)作为下一次计算的隐藏层输入
注意:这里是在同一个RNN layer
"""
rnn = nn.LSTMCell(10, 20)
input = torch.randn(6, 3, 10)
hx = torch.randn(3, 20)
cx = torch.randn(3, 20)
output = []
for i in range(6):
hx, cx = rnn(input[i], (hx, cx))
output.append(hx)