基于pytorch的lstm参数使用详解


Posted in Python onJanuary 14, 2020

lstm(*input, **kwargs)

将多层长短时记忆(LSTM)神经网络应用于输入序列。

参数:

input_size:输入'x'中预期特性的数量

hidden_size:隐藏状态'h'中的特性数量

num_layers:循环层的数量。例如,设置' ' num_layers=2 ' '意味着将两个LSTM堆叠在一起,形成一个'堆叠的LSTM ',第二个LSTM接收第一个LSTM的输出并计算最终结果。默认值:1

bias:如果' False',则该层不使用偏置权重' b_ih '和' b_hh '。默认值:'True'

batch_first:如果' 'True ' ',则输入和输出张量作为(batch, seq, feature)提供。默认值: 'False'

dropout:如果非零,则在除最后一层外的每个LSTM层的输出上引入一个“dropout”层,相当于:attr:'dropout'。默认值:0

bidirectional:如果‘True',则成为双向LSTM。默认值:'False'

输入:input,(h_0, c_0)

**input**of shape (seq_len, batch, input_size):包含输入序列特征的张量。输入也可以是一个压缩的可变长度序列。

see:func:'torch.nn.utils.rnn.pack_padded_sequence' 或:func:'torch.nn.utils.rnn.pack_sequence' 的细节。

**h_0** of shape (num_layers * num_directions, batch, hidden_size):张量包含批处理中每个元素的初始隐藏状态。

如果RNN是双向的,num_directions应该是2,否则应该是1。

**c_0** of shape (num_layers * num_directions, batch, hidden_size):张量包含批处理中每个元素的初始单元格状态。

如果没有提供' (h_0, c_0) ',则**h_0**和**c_0**都默认为零。

输出:output,(h_n, c_n)

**output**of shape (seq_len, batch, num_directions * hidden_size) :包含LSTM最后一层输出特征' (h_t) '张量,

对于每个t. If a:class: 'torch.nn.utils.rnn.PackedSequence' 已经给出,输出也将是一个打包序列。

对于未打包的情况,可以使用'output.view(seq_len, batch, num_directions, hidden_size)',正向和反向分别为方向' 0 '和' 1 '。

同样,在包装的情况下,方向可以分开。

**h_n** of shape (num_layers * num_directions, batch, hidden_size):包含' t = seq_len '隐藏状态的张量。

与*output*类似, the layers可以使用以下命令分隔

h_n.view(num_layers, num_directions, batch, hidden_size) 对于'c_n'相似

**c_n** (num_layers * num_directions, batch, hidden_size):张量包含' t = seq_len '的单元状态

所有的权重和偏差都初始化自: 基于pytorch的lstm参数使用详解 where: 基于pytorch的lstm参数使用详解

include:: cudnn_persistent_rnn.rst
import torch
import torch.nn as nn
 
# 双向rnn例子
# rnn = nn.RNN(10, 20, 2)
# input = torch.randn(5, 3, 10)
# h0 = torch.randn(2, 3, 20)
# output, hn = rnn(input, h0)
# print(output.shape,hn.shape)
# torch.Size([5, 3, 20]) torch.Size([2, 3, 20])
 
# 双向lstm例子
rnn = nn.LSTM(10, 20, 2)   #(input_size,hidden_size,num_layers)
input = torch.randn(5, 3, 10)  #(seq_len, batch, input_size)
h0 = torch.randn(2, 3, 20)    #(num_layers * num_directions, batch, hidden_size)
c0 = torch.randn(2, 3, 20)    #(num_layers * num_directions, batch, hidden_size)
# output:(seq_len, batch, num_directions * hidden_size)
# hn,cn(num_layers * num_directions, batch, hidden_size)
output, (hn, cn) = rnn(input, (h0, c0)) 
 
print(output.shape,hn.shape,cn.shape)
>>>torch.Size([5, 3, 20]) torch.Size([2, 3, 20]) torch.Size([2, 3, 20])

以上这篇基于pytorch的lstm参数使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的print用法示例
Feb 11 Python
使用Python判断IP地址合法性的方法实例
Mar 13 Python
Python实现批量将word转html并将html内容发布至网站的方法
Jul 14 Python
Django自定义manage命令实例代码
Feb 11 Python
Python基于dom操作xml数据的方法示例
May 12 Python
Python爬取数据保存为Json格式的代码示例
Apr 09 Python
Python3中函数参数传递方式实例详解
May 05 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
20行Python代码实现视频字符化功能
Apr 13 Python
使用python无账号无限制获取企查查信息的实例代码
Apr 17 Python
Django框架安装及项目创建过程解析
Sep 14 Python
Python 微信公众号文章爬取的示例代码
Nov 30 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 #Python
np.random.seed() 的使用详解
Jan 14 #Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
Jan 14 #Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
Jan 14 #Python
pytorch+lstm实现的pos示例
Jan 14 #Python
Python中sorted()排序与字母大小写的问题
Jan 14 #Python
Pytorch实现LSTM和GRU示例
Jan 14 #Python
You might like
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
PHP遍历文件夹与文件类及处理类用法实例
2014/09/23 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
[原创]php实现子字符串位置相互对调互换的方法
2016/06/02 PHP
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
jquery实现select选择框内容左右移动代码分享
2015/11/21 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
js实现3d悬浮效果
2017/02/16 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
Python中实现参数类型检查的简单方法
2015/04/21 Python
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
用python处理MS Word的实例讲解
2018/05/08 Python
python版百度语音识别功能
2019/07/09 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
敬老院活动总结
2014/04/28 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
2015秋季运动会通讯稿
2015/07/18 职场文书
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
2021/05/31 Python
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
Python OpenGL基本配置方式
2022/05/20 Python
MySQL优化之慢日志查询
2022/06/10 MySQL