首页IT科技lstm 参数量(【nn.LSTM详解】)

lstm 参数量(【nn.LSTM详解】)

时间2025-08-05 10:25:36分类IT科技浏览8937
导读:参数详解 nn.LSTM是pytorch中的模块函数,调用如下:...

参数详解

nn.LSTM是pytorch中的模块函数                    ,调用如下:

torch.nn.lstm(input_size,hidden_size,num_layers,bias,batch_first,dropout,bidirectional)

详细介绍一下参数:

input_size:表示的是输入的矩阵特征数                           ,或者说是输入的维度;

hidden_size:隐藏层的大小(即隐藏层节点数量)          ,输出向量的维度等于隐藏节点数;

num_layers:lstm 隐层的层数               ,默认为1;

bias:隐层状态是否带 bias                           ,默认为 true;

batch_first:True 或者 False               ,如果是 True          ,则 input 为(batch, seq, input_size)                           ,默认值为:False(seq_len, batch, input_size)

dropout:默认值0                   ,除最后一层     ,每一层的输出都进行dropout;

bidirectional:如果设置为 True, 则表示双向 LSTM                            ,默认为 False                  。

输入输出

nn.LSTM中输入与输出关系为output, (hn, cn) = lstm(input, (h0, c0))                       ,输入输出格式如下:

##输入数据格式: input(seq_len, batch, input_size) h0(num_layers * num_directions, batch, hidden_size) c0(num_layers * num_directions, batch, hidden_size) ##输出数据格式: output(seq_len, batch, hidden_size * num_directions) hn(num_layers * num_directions, batch, hidden_size) cn(num_layers * num_directions, batch, hidden_size)

input (seq_len, batch, input_size),seq_len表示每个batch输入多少数据                        ,batch表示把数据分成了batch批,input_size为样本输入维度                              。

output(seq_len, batch, hidden_size * num_directions)                           ,output是一个三维张量     ,第一维表示序列长度                    ,第二维表示数据批次的多少batch                           ,即数据分为几批送进来          ,第三维hidden_size隐藏层大小               ,双向则二倍                           ,单向则等价于隐藏层大小         。

hn是一个三维张量               ,第一维是num_layers*num_directions          ,num_layers是我们定义的神经网络的层数                           ,num_directions表示是否为双向LSTM;第二维表示一批的样本数量;第三维表示隐藏层的大小             。

c_n与h_n一致                              。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
vm虚拟机安装macos10.15(VM10虚拟机下安装mini版CentOS 6.4的图文方法) installation 翻译(Install python 2.6 in CentOS Stack Overflow)