基于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写xml文件的操作实例
Oct 05 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
Odoo中如何生成唯一不重复的序列号详解
Feb 10 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
详解Python最长公共子串和最长公共子序列的实现
Jul 07 Python
Python使用folium excel绘制point
Jan 03 Python
PyQt5实现暗黑风格的计时器
Jul 29 Python
pytest中文文档之编写断言
Sep 12 Python
详解python中*号的用法
Oct 21 Python
在python image 中实现安装中文字体
May 16 Python
Opencv python 图片生成视频的方法示例
Nov 18 Python
Python字节单位转换(将字节转换为K M G T)
Mar 02 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
JavaScript下利用fso判断文件是否存在的代码
2010/12/11 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
js中apply方法的使用详细解析
2013/11/04 Javascript
SeaJS入门教程系列之SeaJS介绍(一)
2014/03/03 Javascript
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
vue-resource请求实现http登录拦截或者路由拦截的方法
2018/07/11 Javascript
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
2019/06/27 Javascript
Python标准库之collections包的使用教程
2017/04/27 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
Python基于递归算法实现的走迷宫问题
2017/08/04 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
Django实现网页分页功能
2019/10/31 Python
python根据文本生成词云图代码实例
2019/11/15 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
2020/02/28 Python
python设置中文界面实例方法
2020/10/27 Python
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
BookOutlet加拿大:在网上书店购买廉价折扣图书和小说
2018/10/05 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
实习评语
2013/12/16 职场文书
工程技术员岗位职责
2014/03/02 职场文书
活动总结新闻稿
2014/08/30 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
离婚案件上诉状
2015/05/23 职场文书
患者身份识别制度
2015/08/06 职场文书
详解TypeScript中的类型保护
2021/04/29 Javascript
浅析MySQL如何实现事务隔离
2021/06/26 MySQL
python机器学习实现oneR算法(以鸢尾data为例)
2022/03/03 Python