LSTM代码实现

单项LSTM

重要的输入参数

  1. input_size: 每一个时步(time_step)输入到lstm单元的维度.(实际输入的数据size为[batch_size,
    input_size])

  2. hidden_size:
    确定了隐含状态hidden_state的维度. 可以简单的看成: 构造了一个权重矩阵,隐含状态

  3. num_layers:
    叠加的层数。如图所示num_layers为2

在这里插入图片描述

  1. dropout:默认为0,范围0-1

  2. batch_first: 输入数据的size为[batch_size,
    time_step, input_size]

重要的输出参数

在这里插入图片描述

  1. output: 如果num_layer为3,则output只记录最后一层(即,第三层)的输出
    l 对应图中向上的各个time_step的,也即output
    l 其size根据batch_first而不同,可能是[batch_size,
    time_step, hidden_size]

  2. h_n: 各个层的最后一个时步的隐含状态h.
    l size为[num_layers,batch_size,
    hidden_size]

  3. c_n: 各个层的最后一个时步的隐含状态C
    l c_n可以看成另一个隐含状态,size和h_n相同

在这里插入图片描述

其中对于每个时间点原始输入维度为10。

代码如下:

在这里插入图片描述

注意:这个实例与前面讲述中,由于参数’batch_first’的不同,排列为[序列长度,batch_size,输入维度]。

双向LSTM

输入:其余均与单项相同,仅需将参数bidirectional改为True。举例
在这里插入图片描述

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值