1层RNN长这样:
Pytorch的RNN的调用:
rnn_layer = nn.RNN(input_size=2, hidden_size=3, num_layers=2)
# input_size :输入特征的维度,即下图中每一时刻Xt的输入长度,Xt=[x1,x2] ,长度为2
# hidden_size :隐藏层神经元个数,下图中hidden_size=3
# num_layers :网络的层数,下图为2层(上下之间,不是左右之间,左右之间是同一层)
输入:
X = torch.rand(2, 1, 2) # (时间步数, batchsize, 特征长度)
Y, h_new = rnn_layer(X, h)
# X第一个参数为时间步数,有几段Xt序列; 第二个为batchsize;
# 第三个为特征长度,Xt的长度,对应input_size,Xt=[x1,x2]
# 输入还有一个h,对应下图h(t-1),一般为None
# 输出为y和h

抽象结构:
上图中,第一层的模型参数:
w1:input-hidden权重 [input_size,hidden_size]
w2:hidden-hidden权重 [hidden_size,hidden_size]
b1:input-hidden偏置 [hidden_size]
b2:hidden-hidden偏置 [hidden_size]
————————————————
版权声明:本文为CSDN博主「不知语冰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42800654/article/details/106625022