基于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过滤列表用法实例分析
Apr 29 Python
深入理解Python 关于supper 的 用法和原理
Feb 28 Python
Python字典中的键映射多个值的方法(列表或者集合)
Oct 17 Python
python3.6使用pickle序列化class的方法
Oct 22 Python
在pycharm中python切换解释器失败的解决方法
Oct 29 Python
Python实现TCP探测目标服务路由轨迹的原理与方法详解
Sep 04 Python
python 利用turtle模块画出没有角的方格
Nov 23 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
Python3 全自动更新已安装的模块实现
Jan 06 Python
Python转换字典成为对象,可以用"."方式访问对象属性实例
May 11 Python
Python3 ffmpeg视频转换工具使用方法解析
Aug 10 Python
Python实现随机爬山算法
Jan 29 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
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
PHP获取毫秒级时间戳的方法
2015/04/15 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
js css实现垂直方向自适应的三角提示菜单
2016/06/26 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
实现单层json按照key字母顺序排序的示例
2017/12/06 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
JS实现随机生成10个手机号的方法示例
2018/12/07 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
Python操作json数据的一个简单例子
2014/04/17 Python
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
django的settings中设置中文支持的实现
2019/04/28 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
Kivari官网:在线购买波西米亚服装
2018/10/29 全球购物
JD Sports丹麦:英国领先的运动时尚零售商
2020/11/24 全球购物
销售心得体会
2014/01/02 职场文书
金融行业职业生涯规划范文
2014/01/17 职场文书
财务总监管理职责范文
2014/03/09 职场文书
横幅标语大全
2014/06/17 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
迟到检讨书
2015/01/26 职场文书
react 项目中引入图片的几种方式
2021/06/02 Javascript
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python