基于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 27 Python
python实现的简单文本类游戏实例
Apr 28 Python
Python实现的单向循环链表功能示例
Nov 10 Python
python-pyinstaller、打包后获取路径的实例
Jun 10 Python
python SQLAlchemy的Mapping与Declarative详解
Jul 04 Python
Python的Lambda函数用法详解
Sep 03 Python
Python:slice与indices的用法
Nov 25 Python
python os模块在系统管理中的应用
Jun 22 Python
Django model class Meta原理解析
Nov 14 Python
python爬虫爬取图片的简单代码
Jan 18 Python
Python绘制地图神器folium的新人入门指南
May 23 Python
详解在OpenCV中如何使用图像像素
Mar 03 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设计模式中单例模式的应用分析
2013/05/15 PHP
ThinkPHP调试模式与日志记录概述
2014/08/22 PHP
php+mysql结合Ajax实现点赞功能完整实例
2015/01/30 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
详解yii2使用多个数据库的案例
2017/06/16 PHP
修改发贴的编辑功能
2007/03/07 Javascript
js 函数的副作用分析
2011/08/23 Javascript
实现51Map地图接口(示例代码)
2013/11/22 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
js点击文本框后才加载验证码实例代码
2015/10/20 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
JS日程管理插件FullCalendar中文说明文档
2017/02/06 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
2018/03/05 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
特征脸(Eigenface)理论基础之PCA主成分分析法
2018/03/13 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
伦敦剧院门票:From The Box Office
2018/06/30 全球购物
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
幼儿园元旦亲子活动方案
2014/02/17 职场文书
安全生产管理合理化建议书
2014/03/12 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
创建文明城市标语
2014/06/16 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
护士个人总结范文
2015/02/13 职场文书
酒店工程部主管岗位职责
2015/04/16 职场文书
创业计划书之水果店
2019/07/18 职场文书
Python源码解析之List
2021/05/21 Python
详解Python中*args和**kwargs的使用
2022/04/07 Python