the*_*ass 3 python neural-network deep-learning lstm pytorch
文档说
h_n形状的(num_layers*num_directions,分批,hidden_size):张量含有用于隐藏状态T = seq_len
现在,批处理和hidden_size维度几乎是不言自明的.不过,第一个维度仍然是一个谜.
我假设,所有层的所有"最后一个单元格"的隐藏状态都包含在此输出中.但是,例如,"最上层"中"最后一个单元格"的隐藏状态是什么?h_n[-1]?h_n[0]?
输出是否受batch_first选项影响?
在pytorch中实现LSTM和GRU自动包括堆叠LSTM和GRU层的可能性.
你给这个关键字参数nn.LSTM(num_layers=num_layers).num_layers是您拥有的堆叠LSTM(或GRU)的数量.默认值为1,它为您提供基本LSTM.
num_directions 是1或2.对于普通LSTM和GRU,它是1,对于双向RNN,它是2.
因此,在您的情况下,您可能有一个简单的LSTM或GRU,因此其值num_layers * num_directions将为1.
h_n[0]是最底层(接收输入的层)的隐藏状态,以及h_n[-1]最顶层(输出网络输出的层)的隐藏状态.
batch_first将批量维度放在时间维度之前(默认为批量维度之前的时间维度),因为隐藏状态没有时间维度,batch_first对隐藏状态形状没有影响.
| 归档时间: |
|
| 查看次数: |
975 次 |
| 最近记录: |