Docs > torch.nn > LSTM pytorch里使用LSTM
LSTM
CLASS torch.nn.LSTM(*args,**kwargs) [SOURCE]
对输入序列应用多层长短期记忆(LSTM) RNN。
对于输入序列中的每一个元素,每一层(layer)计算以下的函数值:
这里h_t是t时刻的hidden state,c_t是t时刻的cell state,x_t是t时刻的输入。
h_t-1是t-1时刻的hidden state,也是 o时刻的initial hidden state。i_t, f_t, g_t, o_t 分别是输入门,忘记门,cell,输出门。σ是sigmoid函数, ⊙是 Hadamard积。
在多层(multilayer)LSTM中,l层(l>=2)的输入x是l-1层的隐藏状态h乘以dropout δ ,δ 是一个伯努利随机变量,有一定概率为0。
在一些版本的cuDNN和CUDA上,RNN函数存在已知的不确定性问题。您可以通过设置以下环境变量来强制执行确定性行为:
On CUDA 10.1, 设置环境变量CUDA_LAUNCH_BLOCKING=1。这可能会影响性能。
See the cuDNN 8 Release Notes for more information.
Orphan
NOTE
如果满足以下条件:
1)cudnn开启 2)输入数据在GPU上 3)输入数据有dtype torch.float16 4)使用V100 GPU
5)输入数据不是PackedSequence格式。
可以选择持久算法(persistent algorithm)来提高性能。
Examples:
rnn = nn.LSTM(10, 20, 2)
input = torch.randn(5, 3, 10)
h0 = torch.randn(2, 3, 20)
c0 = torch.randn(2, 3, 20)
output, (hn, cn) = rnn(input, (h0, c0))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!