1. nn.LSTM
初始化函数输入参数与RNN相同,分别是input_size,hidden_size和num_layer
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e0f3d076070849988e56b577a7454b3a.png)
foward函数也与RNN类似,只不过返回值除了out外,ht变为(ht,ct)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ebac1799015a48f29805ed899be1ba0f.png)
代码见下图:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6ec9cefa133243ca8b3bbd508f29d93c.png)
2. nn.LSTMCell
初始化函数输入参数与nn.LSTM类似
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/016de83a7f42484c8f07db38f5198f89.png)
forward函数与nn.LSTM的区别是没有out
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/d2f4ef3a84f445168570208fa4aad7f7.png)
单层代码如下图:
和RNN的Cell类似,Cell单元循环更新h,c
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/a5a09eeed525478180a8f83f2d334bc7.png)
2层无非就是多创建了一个cell2、h2、c2,并同时循环更新h1,c1,h2,c2,多层以此类推。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/574efbd8d9724175a00d4dc0440a924b.png)