LSTM层输出中output和hidden

本文详细介绍了LSTM层的output和hidden的概念,output表示每个时间步的输出特征,而hidden是LSTM最后一层的输出特征。在单向LSTM中,output的最后一个时间步与hidden相同;在双向LSTM中,通过拼接正反向输出得到hidden。此外,使用PyTorch构建了一个简单的LSTM模型进行验证,展示了如何从模型中获取hidden和output,并通过实例证明了hidden等于output最后一个时间步的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LSTM层输出中output和hidden

定义

  • output包含LSTM每个时间步t的输出特征,

  • h_t表示LSTM最后一层的输出特征。

    在单向LSTM中,output的最后一个时间步维度的输出output[:, -1, :]等于hidden;

    在双向LSTM层中,可以通过拼接output的最后一个时间步维度正反向的输出,来得到和hidden一样的输出。

    ​另外,注意控制nn.LSTM()中:# batch_first=True,将喂入LSTM的数据中batchsize维度提前,如果输入维度中batchsize已经在第一个维度,故无需设置

构建简单模型验证

构建简单模型验证

from torch import nn

class Config(object):
    def __init__(self, vocab_size, embed_dim, label_num):
        self.vocab_size = vocab_size
        self.embed_dim = embed_dim
        self.label_num = label_num
        self.bidirectional = False
        self.num_directions = 2 if self
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值