赞
踩
torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io)
RNN — PyTorch 2.3 documentation
- nn.RNN(input_size=input_x,
- hidden_size=hidden_num,
- num_layers=1,
- nonlinearity='tanh', #默认'tanh'
- bias=True, #默认是True
- batch_first=False,
- dropout=0,
- bidirectional=False #默认为False
- )
input_size – 输入x
的特征数量。
hidden_size – 隐层的特征数量。
num_layers – RNN的层数。
nonlinearity – 激活函数。指定非线性函数使用tanh
还是relu
。默认是tanh
。
bias – 是否使用偏置。
batch_first – 如果True的话,那么输入Tensor
的shape应该是[batch_size, time_step, feature],输出也是这样。默认是 False,就是这样形式,(seq(num_step), batch, input_dim),也就是将序列长度放在第一位,batch 放在第二位
dropout – 默认不使用,如若使用将其设置成一个0-1的数字即可。如果值非零,那么除了最后一层外,其它层的输出都会套上一个dropout
层。
是否使用双向的 rnn,默认是 False
RNN
的输入:input_shape = [时间步数, 批量大小, 特征维度] = [num_steps(seq_length), batch_size, input_dim]=input (seq_len, batch, input_size)保存输入序列特征的tensor。
RNN
的隐藏层:h_0 (num_layers * num_directions, batch, hidden_size): 保存着初始隐状态的tensor。
RNN
的输出: (output, h_n)。在前向计算后会分别返回输出和隐藏状态h,其中输出指的是隐藏层在各个时间步上计算并输出的隐藏状态,它们通常作为后续输出层的输⼊。RNN
最后一层的输出特征。如果输入是被填充过的序列,那么输出也是被填充的序列。weight_ih_l[k] – 第k
层的 input-hidden
权重, 可学习,形状是(input_size x hidden_size)
。
weight_hh_l[k] – 第k
层的 hidden-hidden
权重, 可学习,形状是(hidden_size x hidden_size)
bias_ih_l[k] – 第k
层的 input-hidden
偏置, 可学习,形状是(hidden_size)
bias_hh_l[k] – 第k
层的 hidden-hidden
偏置, 可学习,形状是(hidden_size)
h_t是时刻t的隐状态。
x_t是上一层时刻t的隐状态,或者是第一层在时刻t的输入。
如果nonlinearity='relu'
,那么将使用relu
代替tanh
作为激活函数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。