基于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的格式化输出(format,%)实例详解
Jun 01 Python
python 用lambda函数替换for循环的方法
Jun 09 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
Nov 06 Python
python selenium登录豆瓣网过程解析
Aug 10 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
Apr 22 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
python 判断一组数据是否符合正态分布
Sep 23 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
Nov 28 Python
Python基于Webhook实现github自动化部署
Nov 28 Python
python中altair可视化库实例用法
Jan 26 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 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/08/15 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
AngularJS Ajax详解及示例代码
2016/08/17 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
2017/11/20 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
uni app仿微信顶部导航条功能
2019/09/17 Javascript
[01:27]DOTA2电竞之夜 今夜共饮庆功酒
2014/08/02 DOTA
Python发送Email方法实例
2014/08/21 Python
Python2.X/Python3.X中urllib库区别讲解
2017/12/19 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
Python动态语言与鸭子类型详解
2019/07/01 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
Python绘制二维曲线的日常应用详解
2019/12/04 Python
Python如何把多个PDF文件合并代码实例
2020/02/13 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
印尼太阳百货公司网站:Matahari
2018/02/04 全球购物
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
Under Armour安德玛荷兰官网:美国高端运动科技品牌
2019/07/10 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
应届大学生求职信
2013/12/01 职场文书
办公室前台的岗位职责
2013/12/20 职场文书
2014年公司植树节活动方案
2014/03/04 职场文书
大班开学家长寄语
2014/04/04 职场文书
经费申请报告
2015/05/15 职场文书
宣传稿格式范文
2015/07/23 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python