PyTorch -- LSTM 快速实践

上篇介绍了 RNN 快速实践;使用 LSTM 的话,可以解决梯度离散及短期记忆问题;代码部署方面,增加了 c 值 (即 RNN 中的 h 变成了 LSTM 中的 (h,c)), 可对照 RNN 快速实践 来快速掌握。


  • LSTM Layer torch.nn.LSTM(input_size,hidden_size,num_layers,batch_first)
    • input_size: 输入的编码维度
    • hidden_size: 隐含层的维数
    • num_layers: 隐含层的层数
    • batch_first: ·True 指定输入的参数顺序为:
      • x:[batch, seq_len, input_size] # 或者用符号 c0
      • h0:[batch, num_layers, hidden_size]
  • LSTM 的输入
    • x:[seq_len, batch, input_size] # 或者用符号 c0
      • seq_len: 输入的序列长度
      • batch: batch size 批大小
    • (h0, c0):[num_layers, batch, hidden_size]
  • LSTM 的输出
    • y: [seq_len, batch, hidden_size]
    • (ht, ct):[num_layers, batch, hidden_size]

..........

三个门 ( σ \sigma σ处:遗忘f、输入i、输出o) 都是基于 x t \mathbf{x}_t xt h t − 1 \mathbf{h}_{t-1} ht1 产生,但是分别对应要学习的权重参数 W W W 不同,或可参照下简化图直观理解 LSTM 模块内部的处理流程


  • 实战之预测 正弦曲线:以下会以此为例,演示 RNN 预测任务的部署

    • 下述示例代码已注明区别行 ########################### (共3处)

    • 步骤一:确定 RNN Layer 相关参数值并基于此创建 Net (RNN->LSTM)

      import numpy as np
      from matplotlib import pyplot as plt
      
      import torch
      import torch.nn as nn
      import torch.optim as optim
      
      
      seq_len     = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值