pytorch 笔记:GRU
1 介绍
对于输入序列中的每个元素,每一层都计算以下函数:
- ht 是t时刻 的隐藏状态
- xt 是t时刻 的输入
- ht−1 是 t-1时刻 同层的隐藏状态或 0时刻 的初始隐藏状态
- rt,zt,nt 分别是重置门、更新门和新门。
- σ 是 sigmoid 函数
- ∗ 是 Hadamard 乘积。
在多层GRU中,第 l 层的输入(对于 l≥2)是前一层的隐藏状态
乘以概率 dropout
。
2 基本使用方法
torch.nn.GRU(self, input_size, hidden_size, num_layers=1, bias=True, batch_first=False, dropout=0.0, bidirectional=False, device=None, dtype=None)
3 参数说明
input_size | 输入 x 中预期的特征数 |
hidden_size | 隐藏状态 h 的特征数 |
num_layers | GRU层数 |
bias | 如果为 False,则该层不使用偏置权重bi,bh |
batch_first | 如果为 True,则输入和输出张量以(batch, seq, feature)提供,而不是(seq, batch, feature) |
dropout | 如果非零,则在除最后一层之外的每个 GRU 层的输出上引入一个 Dropout 层,其中 dropout 概率等于 dropout |
bidirectional | 如果为 True,成为双向 GRU。默认值为 False |
输入:input (seq_len,batch,input_size), h_0(D*num_layers,batch,hidden_size) D表示单向还是双向GRU
输出:output(seq_len,D*hidden_size),h_n(D*num_layers,batch,hidden_size)
4 举例
import torch.nn as nnrnn = nn.GRU(input_size=5,hidden_size=10,num_layers=2)input_x = torch.randn(7, 3, 5)
#seq_len,batch,input_sizeh0 = torch.randn(2, 3, 10)
#D*num_layer,batch,hidden_sizeoutput, hn = rnn(input_x, h0)
output.shape, hn.shape,output, hn
#seq_len,batch,input_size D*num_layer,batch,hidden_size
'''
(torch.Size([7, 3, 10]),torch.Size([2, 3, 10]),tensor([[[ 2.3096e-01, 4.7877e-01, -6.0747e-02, 3.1251e-01, 4.4528e-01,-2.6670e-01, -1.1168e+00, 7.3444e-01, -8.5343e-01, -8.6078e-02],[ 1.4765e+00, -4.4738e-01, 2.9812e-01, -6.6684e-01, 4.5928e-01,1.5543e+00, -2.7558e-01, -7.5153e-01, 5.0880e-01, 6.0543e-02],[ 8.9311e-01, 4.0004e-01, 1.6901e-01, 1.5932e-01, -1.2210e-01,3.0321e-01, -2.8612e-01, -1.4686e-01, 2.8579e-01, 1.1582e-02]],[[ 3.2400e-01, 4.1382e-01, -1.6979e-01, 9.6827e-02, 4.6004e-01,-4.7673e-02, -5.0143e-01, 4.6305e-01, -6.7894e-01, 8.7199e-04],[ 1.0779e+00, -1.7995e-02, 1.4842e-01, -4.0097e-01, 2.1145e-01,1.0362e+00, -3.9766e-01, -5.6097e-01, 3.0160e-01, 1.4931e-02],[ 6.1099e-01, 3.5822e-01, 9.1912e-02, -6.6886e-02, 8.1180e-02,2.2922e-01, -1.2506e-01, 2.9601e-02, 2.8049e-02, -1.5160e-02]],[[ 3.4037e-01, 3.0256e-01, -9.5463e-02, -1.0667e-01, 4.1159e-01,-1.7158e-02, -1.6656e-01, 3.3041e-01, -4.9750e-01, -9.4554e-02],[ 7.2198e-01, 1.1721e-01, 5.7578e-02, -1.4264e-01, 4.4159e-02,7.4929e-01, -2.6565e-01, -3.7547e-01, 1.3828e-01, 6.9896e-02],[ 4.5888e-01, 2.9849e-01, 1.1400e-01, -1.4953e-01, 1.8319e-01,1.2005e-01, -1.0588e-01, 1.2678e-01, -9.6599e-02, -6.3649e-02]],[[ 2.6923e-01, 1.9539e-01, -8.3442e-02, -1.0092e-01, 2.9727e-01,5.5752e-02, -1.6502e-01, 1.5522e-01, -3.3283e-01, -1.5289e-02],[ 5.0674e-01, 2.2620e-01, -1.6900e-02, -1.6849e-02, 1.3829e-01,3.0847e-01, -1.6965e-01, -1.9627e-01, 3.3316e-02, 6.3073e-02],[ 3.9663e-01, 3.0165e-01, -1.2318e-02, -1.4176e-01, 2.3552e-01,-3.8588e-02, -8.2455e-03, 1.6961e-01, -1.3624e-01, -7.3225e-03]],[[ 2.4548e-01, 1.7003e-01, -1.9854e-01, -4.2608e-02, 2.2749e-01,6.0757e-02, -7.5942e-02, 1.0205e-01, -2.2418e-01, 1.1453e-01],[ 3.5747e-01, 1.6106e-01, -2.9625e-02, 7.5182e-02, 7.6844e-02,2.4100e-01, -7.6047e-02, -6.7489e-02, -3.3757e-02, 1.1799e-01],[ 3.1698e-01, 1.8008e-01, -5.1838e-02, -9.3295e-02, 1.7627e-01,2.4971e-02, -2.4372e-02, 1.4522e-01, -1.1888e-01, 3.5780e-02]],[[ 1.8998e-01, 9.6675e-02, -9.7632e-02, -8.5483e-02, 1.2471e-01,1.4351e-01, -3.0885e-02, 1.0894e-01, -1.8797e-01, 3.5201e-02],[ 2.8278e-01, 1.7304e-01, -1.9512e-02, 7.8874e-02, 1.4434e-01,1.0537e-01, -8.5619e-02, 2.5765e-02, -9.0284e-02, 9.8876e-02],[ 2.3387e-01, 8.8567e-02, -3.5850e-02, -2.8561e-02, 1.2145e-01,1.1404e-01, -1.1314e-01, 7.1272e-02, -1.0356e-01, 7.2997e-02]],[[ 1.5414e-01, 8.1896e-02, -1.4372e-01, -4.9761e-02, 8.5839e-02,1.7213e-01, -3.9533e-02, 4.7469e-02, -1.3332e-01, 8.3625e-02],[ 2.3274e-01, 1.5516e-01, -4.0695e-02, 3.1735e-02, 1.9340e-01,4.3769e-03, -4.9590e-02, 6.0317e-02, -1.0783e-01, 4.7750e-02],[ 1.3002e-01, 1.2265e-02, -3.3010e-03, 2.6260e-02, 6.5244e-02,2.3599e-01, -2.3918e-01, -4.4371e-02, -9.0464e-02, 1.1589e-01]]],grad_fn=<StackBackward0>),tensor([[[ 0.4118, -0.0513, -0.2540, -0.2115, -0.4503, 0.0357, -0.2615,-0.2243, 0.0580, -0.1405],[ 0.2653, 0.5365, -0.5024, -0.3466, -0.1986, 0.2726, -0.1399,-0.1821, -0.3203, 0.1749],[ 0.6847, -0.2840, -0.1549, 0.3359, -0.0230, -0.0229, -0.2775,-0.1442, -0.1158, -0.2203]],[[ 0.1541, 0.0819, -0.1437, -0.0498, 0.0858, 0.1721, -0.0395,0.0475, -0.1333, 0.0836],[ 0.2327, 0.1552, -0.0407, 0.0317, 0.1934, 0.0044, -0.0496,0.0603, -0.1078, 0.0477],[ 0.1300, 0.0123, -0.0033, 0.0263, 0.0652, 0.2360, -0.2392,-0.0444, -0.0905, 0.1159]]], grad_fn=<StackBackward0>))
'''
相关文章:
pytorch 笔记:GRU
1 介绍 对于输入序列中的每个元素,每一层都计算以下函数: ht 是t时刻 的隐藏状态xt 是t时刻 的输入ht−1 是 t-1时刻 同层的隐藏状态或 0时刻 的初始隐藏状态rt,zt,nt 分别是重置门、更新门和新门。σ 是 sigmoid 函数∗ 是 Hadamard 乘积。…...

Kubernetes - Ingress HTTP 升级 HTTPS 配置解决方案(新版本v1.21+)
之前我们讲解过 Kubernetes - Ingress HTTP 搭建解决方案,并分别提供了旧版本和新版本。如果连 HTTP 都没搞明白的可以先去过一下这两篇 Kubernetes - Ingress HTTP 负载搭建部署解决方案_放羊的牧码的博客-CSDN博客Kubernetes - Ingress HTTP 负载搭建部署解决方案…...
Verilog:写流水灯时遇到的问题
module flow_led(input sys_clk, //系统时钟50Mhz 周期0.02nsinput sys_rst_n, //系统异步复位,低电平有效output reg [3:0] led ); reg [24:0] cnt;//计数器计时0.5s250000000*0.02ns always(posedge sys_clk or negedge sys_rst_n)beginif(!sys_rst_n)cnt <…...

操作系统第四章-存储器管理
4.1 内存的基本知识 4.1.1 逻辑地址和物理地址 逻辑地址又称为相对地址 物理地址又称为绝对地址 一. 逻辑地址 内存中有多个进程,相对地址是相对于进程的起始地址而言的地址. 二.物理地址 绝对地址是在整个内存下的地址 4.2 程序的装入和链接 引入:用户程序要在系统中运…...

org.springframework.cloud:spring-cloud-starter-openfeign:jar is missing详解
openfeign无法导入的问题 我感觉最近带的好几个新人在搭建springCloud基础框架的时候,会犯一个非常小的错误,导致进度卡住了。 这个错误就是Feign导入的错误: ‘dependencies.dependency.version’ for org.springframework.cloud:spring-c…...

Netty第一部
一、select和epoll原理分析 外设设备网卡、鼠标、键盘等通过总线写到内存中,中间就有DMA拷贝,操作系统怎么知道内存中有数据了,这就需要操作系统通过中断机制确定,如果有中断信号过来,cpu会首先打断用户程序执行&…...

【设计模式】第11节:结构型模式之“装饰器模式”
一、简介 装饰器模式主要解决继承关系过于复杂的问题,通过组合来替代继承。它主要的作用是给原始类添加增强功能。这也是判断是否该用装饰器模式的一个重要的依据。除此之外,装饰器模式还有一个特点,那就是可以对原始类嵌套使用多个装饰器。…...

Spire.doc读取模板文档,并在书签处插入内容
在书签位置插入文字 //加载模板文档 Document document new Document(Server.MapPath("~/File/评价结果.doc")); //创建书签导航器 BookmarksNavigator bn new BookmarksNavigator(document); //添加一个section到文档 Section newSec document.AddSection(); …...

性能测试实施流程,5个阶段给老板安排的明明白白!
性能测试分为5个阶段,分别是【需求调研阶段】→【测试准备阶段】→【测试执行阶段】→【测试报告阶段】→【测试总结阶段】。 1、需求调研阶段 需求调研分为两个步骤进行:需求调研、需求分析 需求调研 需求调研工作由性能测试实施人员牵头负责&#…...

【教程】R语言生物群落(生态)数据统计分析与绘图
查看原文>>>R语言生物群落(生态)数据统计分析与绘图实践 暨融合《R语言基础》、《tidyverse数据清洗》、《多元统计分析》、《随机森林模型》、《回归及混合效应模型》、《结构方程模型》、《统计结果作图》七合一版本方案 R 语言作的开源、自…...

数据库-用户权限管理
创建用户: create user testlocalhost identified by 123456; create user 创建用户的固定开头 testlocalhost test为用户名, localhost:新建用户可以在哪些主机上登录,即使可以使用IP地址,网段主机名都可以 identified by 1…...

十一、W5100S/W5500+RP2040树莓派Pico<ARP 地址解析>
文章目录 1 前言2 简介2 .1 什么是ARP?2.2 ARP的优点2.3 ARP工作原理2.4 ARP应用场景 3 WIZnet以太网芯片4 ARP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 随着网络安全越来越受到重…...

可以直接在线制作电子画册的网站
随着互联网技术的发展,越来越多的人开始使用在线工具来制作电子画册。今天,小编就来介绍一款可以直接在线制作电子画册的网站,让你的电子画册更加精美、个性化和实用。 1.首先点击FLBOOK在线制作制作电子杂志平台 2.点击开始制作࿰…...

SortableJS:vuedraggable实现元素拖放排序
文档:https://sortablejs.github.io/Sortable/github:https://github.com/SortableJS/SortableVue2: https://github.com/SortableJS/Vue.DraggableVue3: https://github.com/SortableJS/vue.draggable.nextnpm https://www.npmjs.com/package/vuedragga…...

跟着Nature Communications学作图:纹理柱状图+添加显著性标签!
📋文章目录 复现图片设置工作路径和加载相关R包读取数据集数据可视化计算均值和标准差方差分析组间t-test 图a可视化过程图b可视化过程合并图ab 跟着「Nature Communications」学作图,今天主要通过复刻NC文章中的一张主图来巩固先前分享过的知识点&#…...
88. 合并两个有序数组、Leetcode的Python实现
博客主页:🏆李歘歘的博客 🏆 🌺每天不定期分享一些包括但不限于计算机基础、算法、后端开发相关的知识点,以及职场小菜鸡的生活。🌺 💗点关注不迷路,总有一些📖知识点&am…...

视频列表:点击某个视频进行播放,其余视频全部暂停(同时只播放一个视频)
目录 需求实现原理实现代码页面展示 需求 视频列表:点击某个视频进行播放,其余视频全部暂停(同时只播放一个视频) 实现原理 在 video 标签添加 自定义属性 id (必须唯一)给每个 video 标签 添加 play 视频播放事件播放视频时&…...
论文-分布式-共识,事务以及两阶段提交的历史描述
这是一段关于一致性,事务以及两阶段提交的历史的描述阅读关于一致性的文献可能会有些困难,因为: 各种用语在不断的演化着(比如一致性<consensus>最初叫做协商<agreement>); 各种研究成果并不是以一种逻辑性的顺序产生…...
[100天算法】-二叉树剪枝(day 48)
题目描述 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。返回移除了所有不包含 1 的子树的原二叉树。( 节点 X 的子树为 X 本身,以及所有 X 的后代。)示例1: 输入: [1,null,0,0,1] 输出: [1,null,0,null,1]示例2: 输入: […...

常用编程语言排行与应用场景汇总(2023.10)
文章目录 编程语言排行一、Python二、C三、C四、Java五、C#六、JavaScript七、VB(Visual Basic)八、PHP九、SQL十、ASM(Assembly Language)十一、Go十二、Scratch十三、Delphi/Object Pascal十四、MATLAB十五、Swift十六、Fortran…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存
文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...

认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...

二叉树-144.二叉树的前序遍历-力扣(LeetCode)
一、题目解析 对于递归方法的前序遍历十分简单,但对于一位合格的程序猿而言,需要掌握将递归转化为非递归的能力,毕竟递归调用的时候会调用大量的栈帧,存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧,而非…...

JUC并发编程(二)Monitor/自旋/轻量级/锁膨胀/wait/notify/锁消除
目录 一 基础 1 概念 2 卖票问题 3 转账问题 二 锁机制与优化策略 0 Monitor 1 轻量级锁 2 锁膨胀 3 自旋 4 偏向锁 5 锁消除 6 wait /notify 7 sleep与wait的对比 8 join原理 一 基础 1 概念 临界区 一段代码块内如果存在对共享资源的多线程读写操作…...