pack_padded_sequence和pad_packed_sequence&&rnn的输出_pack_padded_sequence后怎么用rnn训练-程序员宅基地

技术标签: rnn  深度学习  人工智能  工程实践  

rnn的输入

在使用rnn训练数据时,常会面临数据长度不一致的情况,这时我们需要将各个序列pad到固定长度,方便batch并行训练;但是填充后虽然长度相同,但是会有很多无效的填充值,会浪费计算资源

pack_padded_sequence

为了使 RNN 可以高效的读取数据进行训练,就需要在 pad 之后再使用 pack_padded_sequence 对数据进行处理;
input:pad后的序列(由大到小排好序)

需要注意的是,默认条件下,我们必须把输入数据按照序列长度从大到小排列后才能送入 pack_padded_sequence ,否则会报错。

pad_packed_sequence

这个函数实际上是 pack_padded_sequence 函数的逆向操作。就是把压紧的序列再填充回来。
对序列进行填充,填充值一般是0;

packed_input = nn.utils.rnn.pack_padded_sequence(src_emb,src_lens_sort,batch_first=True)
_,final_hidden = self.rnn(packed_input)
#shape:_(batch,seq,hidden*num_direction),hidden:(batch,num_layers*num_direction,hidden)
'''
_实际上是每个时间步拼接后的结果,每个时间步的输出(batch,hidden),层数对其没有影响
hidden是最后一个时间步的输出(batch,hidden),模型如果双向每层就会有两个最终隐藏输出。
'''
out_pad,out_len = nn.utils.rnn.pad_packed_sequence(_,batch_first=True) 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42887772/article/details/125402908

智能推荐

Python3读取Excel表格数据时报错:ImportError: Missing optional dependency ‘xlrd‘. Install xlrd >= 1.0.0 for Exc_install xlrd >= 1.0.0 for excel support-程序员宅基地

文章浏览阅读388次。ImportError: Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use_install xlrd >= 1.0.0 for excel support

mysql怎么tonumber_orcale中的to_number方法使用-程序员宅基地

文章浏览阅读1w次。TO_NUMBER函数()是Oracle中常用的类型转换函数之一,主要是将字符串转换为数值型的格式,与TO_CHAR()函数的作用正好相反。To_number函数的格式如下:To_number(varchar2 or char,'format model')To_number函数中也有很多预定义的固定格式:格式值含义9代表一个数字0强迫0显示$显示美元符号L强制显示一个当地的货币符号.显示一个小数..._mysql to_number

Mybatis 查询传多个参数(3中方法)-程序员宅基地

文章浏览阅读76次。第一种方案DAO层的函数方法1Public User selectUser(String name,String area);对应的Mapper.xml123<select id="selectUser" resultMap="Bas..._ 查询传多个值

如何获取手机屏幕_如何实时获取手机屏幕内容-程序员宅基地

文章浏览阅读1.7k次。主要用用获取手机屏幕尺寸_如何实时获取手机屏幕内容

Servlet Response直接返回JSON数据_servlet response返回数据-程序员宅基地

文章浏览阅读1.7w次,点赞9次,收藏21次。获取打印输出流打印输出流:response.getWriter() 返回的是 PrintWriter可以通过 response.getWriter().write()和response.getWriter().print()响应数据给客户端,如果前端没有接收数据的位置,就会在浏览器上生成一个新的页面来显示内容。区别:write():仅支持输出字符类型数据,字符、字符数组、字符串等print():可以将各种类型(包括Object)的数据通过默认编码转换成bytes字节形式,这些字节都通过writ_servlet response返回数据

JAVA毕业设计Web企业差旅在线管理系统计算机源码+lw文档+系统+调试部署+数据库_基于javaweb的差旅报销系统毕业设计-程序员宅基地

文章浏览阅读98次。JAVA毕业设计Web企业差旅在线管理系统计算机源码+lw文档+系统+调试部署+数据库。springcloud基于微服务架构的小区生活服务平台的设计与实现。jsp会议管理系统的设计与实现sqlserver。ssm+sqlserver精准扶贫项目管理系统。ssm+sqlserver音乐资源分享网站。ssm基于Web的精品课程网站的设计与实现。ssm基于JavaEE的网上图书分享系统。_基于javaweb的差旅报销系统毕业设计

随便推点

JavaWeb快速入门--Tomcat-程序员宅基地

文章浏览阅读593次,点赞29次,收藏9次。Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。web服务器软件:首先,我们知道JavaWeb是一个典型的浏览器/服务器(B/S)架构,一般情况下,我们在进行Web开发时,不止要搭建Web的开发环境,还需要对服务器端进行响应的配置。服务器:安装了服务器软件的计算机服务器软件:用来接收和处理用户的请求,并做出响应的软件。

R 与 RStudio:安装和入门使用-程序员宅基地

文章浏览阅读181次。R 与 RStudio:安装和入门使用R 是一种强大的编程语言和环境,广泛用于数据分析和统计建模。RStudio 是一个用于 R 的集成开发环境(IDE),提供了方便的代码编写、调试和可视化工具。本文将向您介绍如何安装 R 和 RStudio,并提供一些入门使用 R 语言的示例代码。

认认真真推荐几个AI与数据方向的公众号-程序员宅基地

文章浏览阅读400次。“三人行,必有我师焉”,学习就是要从别人身上学到好的。今天特意给大家推荐10个优质公众号,目前属于活跃度非常高的几个原创公众号,涵盖了python和AI,重点是他们还坚持在原创技术免费分享的第一线!SQL数据库开发专注数据相关领域,主要分享MySQL,数据分析,Python,Excel 等相关技术内容,关注回复「1024」获取资源大礼包。点击上方名片可关注深度学习与图网络..._公众号 跟我学ai

开源消息队列:NetMQ-程序员宅基地

文章浏览阅读167次。NetMQ 是 ZeroMQ的C#移植版本。ZeroMQ是一个轻量级的消息内核,它是对标准socket接口的扩展。它提供了一种异步消息队列,多消息模式,消息过滤(订阅),对多种传输协议的无缝访问。NetMQ 也是一个社区开源项目,网站在Github上 https://github.com/zeromq/netmq, 可以通过Nuget包获取http://nuget.org/package..._netmq kafka

新修版的《天龙八部》与《射雕英雄传》-程序员宅基地

文章浏览阅读483次。&#13; 前一段时间买了几本新版金庸小说口袋本,包括变动比较大的《天龙八部》与《射雕英雄传》。《天龙八部》的改动还是比较大的。大家非常熟悉的”降龙十八掌”变成了”降龙二十八掌”,到了小说的最后,萧峰和虚竹二人将”二十八掌”精简成了”十八掌”,又绕了回来,作为铁杆金庸读者我觉得这样的变化有些画蛇添足,也不知道金庸老先生这样改的目的为何。小说中的线索也变化了很多,增加了诸如丁...

java/php/net/python 企业固定资产信息管理系统【2024年毕设】-程序员宅基地

文章浏览阅读47次。springboot基于Springbootvue的教学辅助系统设计与实现。springboot基于springboot的智能ERP管理系统。springboot基于Springboot的高校教室管理系统。springboot基于springboot的产后护理系统。springboot基于java电商后台管理系统。springboot特困生在线申报和信息服务系统。ssm基于微信小程序的汉服租赁平台的设计与实现。ssm基于vue的高校宿舍报修系统的设计与实现。springboot少数民族饰品销售系统。