You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

理解序列分类任务的LSTM架构:PyTorch实现分类层输入验证

你的理解完全正确,传入最终分类层的确实是单层单向LSTM最后一个时间步的隐状态,每个样本对应hidden_size维的特征,和你绘制的示意图逻辑一致。

补充你可能关心的细节:

  • PyTorch中单向单层LSTM返回的隐状态h_t默认shape为(num_layers * num_directions, batch_size, hidden_size),你的代码配置了num_layers=1、bidirectional=False,所以h_t初始shape为(1, batch_size, 100),经过view(-1, self.hidden_size)变形后得到(batch_size, 100)的张量,刚好对应每个样本的最后一步隐状态。
  • 你使用nn.utils.rnn.pack_padded_sequence时设置了enforce_sorted=False,PyTorch会自动完成输入序列的排序、计算、顺序还原逻辑,最终得到的h_t和你输入的grouped_pooled_outs样本顺序完全一致。同时pack操作会屏蔽padding位的计算,每个样本的h_t是对应自身真实序列长度的最后一个时间步输出,而非padding后最长序列的末尾输出,这点无需担心。
  • 你注释了全时间步输出的解包代码,也没有对LSTM的全时间步输出做任何聚合操作(比如均值池化、最大值池化),确实仅提取了最后一步隐状态输入分类层。

内容的提问来源于stack exchange,提问作者Luca Guarro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 12:54:04