首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用CuDNNLSTM (而不是LSTM)层的意外结果

使用CuDNNLSTM (而不是LSTM)层的意外结果
EN

Stack Overflow用户
提问于 2019-06-27 21:03:45
回答 1查看 1K关注 0票数 6

我已经把这个问题作为一个问题发布在Keras‘Github上,但我认为这个问题可能会影响到更多的观众。

系统信息

  • 我是否编写了自定义代码(相对于使用示例目录):对官方Keras教程的最小更改
  • 操作系统平台和发行版(例如LinuxUbuntu16.04):Ubuntu18.04.2LTS
  • TensorFlow后端(是/否):,yes,
  • TensorFlow版本:1.13.1
  • Keras版本:2.2.4
  • Python版本:3.6.5
  • CUDA/cuDNN版本:10.1
  • GPU模型和内存:Tesla K80 11G

描述当前行为

我正在执行来自Seq2Seq 教程的代码。我所做的唯一改变就是将LSTM层替换为CuDNNLSTM。所发生的是,模型对我给出的任何输入都有一个固定的输出。当我运行原始代码时,我会得到合理的结果。

描述了预期的行为

见前一节。

代码以复制问题

取自这里。只需用CuDNNLSTM替换LSTM即可。

任何见解都会受到极大的赞赏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-05 21:13:21

所以这里有两个问题。

使用CuDNNLSTMparameter tuning

基本上,网络覆盖您的数据集,这导致输出只有一个句子对每个输入。这既不是CuDNNLSTM的错,也不是LSTM的错。

首先,

CuDNN与普通的LSTM有一些不同的数学方法,使其与Cuda兼容并运行得更快。对于您使用的相同代码,在英语-印地语文件上运行LSTM需要11秒,而CuDNNLSTM则需要1秒。

在CuDNNLSTM中,time_major参数设置为false。出于这个原因,网络覆盖。你可以检查一下,这里

你可以清楚地看到,像英欣或英马拉蒂这样的小数据集,val-loss在30年代之后就会增加。在network loss减少、val_loss增加的情况下运行更多的网络是没有意义的。LSTM的情况也是一样的。

在这里,您需要用于小型数据集的param tuning

以下是一些可以帮助您的链接:

  1. 英玛
  2. 火炬翻译教程
  3. 类似问题2类似问题2
  4. NMT-keras
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56801148

复制
相关文章
Java中时间戳的使用
当前时间 import java.sql.Timestamp; //导包 Timestamp nowTime = new Timestamp(System.currentTimeMillis()); System.out.println(nowTime); 输出: 2022-06-08 11:15:51.014 Long型时间戳 Long timeLong = System.currentTimeMillis(); System.out.println("timeString:" + timeLon
代码的路
2022/11/29
1.8K0
如何在python中构造时间戳参数
前面有一篇随笔大致描述了如何在jmeter中生成时间戳,这次继续介绍下在用python做接口测试时,如何构造想要的时间戳参数
冰霜
2022/03/19
2.6K0
如何在python中构造时间戳参数
Golang获取过去或将来某周某月的开始时间戳和结束时间戳
Golang获取过去或将来某周某月的开始时间戳和结束时间戳 开发过程中我们经常需要拿到相对于当前时间过去或将来的某周某月的开始和结束时间戳,下面为大家准备了对应的方法。 1.获取某周的开始和结束时间戳 // 获取某周的开始和结束时间,week为0本周,-1上周,1下周以此类推 func WeekIntervalTime(week int) (startTime, endTime string) { now := time.Now() offset := int(time.Monday - no
用户6786882
2021/11/19
3.3K0
php中的时间戳与javascript中的时间戳的比较
php中的时间戳与javascript中的时间戳的比较,本质上看,它们是一样的东西,但如果二者要进行相等比较的时候,还是有点不同的,稍不注意,就会误入歧途,所以,这里列出容易忽略的两点不同,供大家参考:
风柏杨4711
2021/03/15
3.4K0
api接口的安全设计:使用token+sign+时间戳
服务端以api的方式将数据响应给客户端是目前的趋势,可以用在前后端分离的架构中,前后端分离之后,前后端人员能够更加专注于自己板块的东西,也可以用在服务端与服务端相互调用中。
炒香菇的书呆子
2023/10/03
2.5K0
ffmpeg中的时间戳与时间基
在开发多媒体播放器或直播系统时,音视频的同步是非常关键且复杂的点。要想把音视频同步搞明白,我们必须要了解一些基本的知识。只有了解了这些基本知识,才能为你打下理解音视频同步的基础。 本文将从下面几个主题介绍这些知识点:
音视频_李超
2020/04/02
3K0
ffmpeg中的时间戳与时间基
python中时间、日期、时间戳的转换
1.简介 在编写代码时,往往涉及时间、日期、时间戳的相互转换。 2.示例 # 引入模块 import time, datetime 2.1 str类型的日期转换为时间戳 1 # 字符类型的时间 2 tss1 = '2013-10-10 23:40:00' 3 # 转为时间数组 4 timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S") 5 print timeArray 6 # timeArray可以调用tm_year等 7 prin
kirin
2020/05/16
3.8K0
Java中获取时间戳
** 最近项目开发过程中发现了项目中获取时间戳的业务。而获取时间戳有以下三种方式,首先先声明推荐使用System类来获取时间戳,下面一起看一看三种方式。
全栈程序员站长
2022/08/18
2.6K0
时间,时间戳
将如上的时间2016-05-05 20:28:54转换成时间戳,具体的操作过程为:
zhengzongwei
2019/07/31
5.1K0
时间戳 时间
背景 由于团队业务做的是国际项目,就无法避免一个问题--时区问题,很多业务都是跟时间有关。一些时间的对比,时间的展示,都会涉及到时区和时间戳,所以花点时间来简单总结一下 概念 时间戳 时间戳是一个自增的整数,它表示从1970年1月1日零时整的GMT时区开始的那一刻,到现在的毫秒数。假设浏览器所在电脑的时间是准确的,那么世界上无论哪个时区的电脑,它们此刻产生的时间戳数字都是一样的,所以,时间戳可以精确地表示一个时刻,并且与时区无关。 时区 时区(Time Zone)是地球上的区域使用同一个时间定义。188
千往
2018/01/24
5.8K0
[HTML5] Canvas绘制简单形状
使用canvas来进行绘画,它像很多其他dom对象一样,有很多属性和方法,操作这些方法,实现绘画
唯一Chat
2019/09/10
1.1K0
[HTML5] Canvas绘制简单形状
Python获取当前时间戳_时间转换时间戳
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
9.6K0
小技巧 | 如何用python把时间戳如(1511544070)转换成常规时间格式?
由于工作关系,常常遇到时间戳转化的问题。 转换方法用到python的datetime库里的fromtimestamp方法。 第一步:导入datetime库 import datetime 第二步:使用fromtimestamp方法进行转换 x = 1511544070 result = datetime.datetime.fromtimestamp(x) # 输出result为:datetime.datetime(2017, 11, 25, 1, 21, 10) 第三步:再把结果转换成字符串 dateti
朱卫军 AI Python
2022/04/02
1.7K0
sql中时间戳转日期
需求: 我将博客和 typecho 后台结合起来,打算做一个在线说说的功能,在 typecho 中输入内容,然后调用接口,实现在我的博客查看说说功能的功能。是不是有点绕?我也这么觉得,但是折腾一下也挺好的。
子舒
2022/06/09
4.3K0
sql中时间戳转日期
java当前时间的时间戳_java获取当前时间(时间戳)的方法
Calendar.getInstance().getTimeInMillis();
全栈程序员站长
2022/06/28
9K0
java当前时间的时间戳_java获取时间戳和当前时间
Calendar.getInstance().getTimeInMillis();
全栈程序员站长
2022/08/18
8.6K0
Unix 时间戳;时间戳获取和生成
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
西湖醋鱼
2020/12/30
9.2K0
Linux时间戳转换_时间戳转换软件
在大多数 UNIX 系统中,当前时间存储为自特定时刻以来经过的时间以简化,将时间保持为长整数。所有 UNIX 系统普遍接受的时刻是 1970 年 1 月 1 日凌晨 12:00:00。 这称为 UNIX 时间戳,并被所有现代 UNIX/Linux 系统识别。
全栈程序员站长
2022/11/09
15.7K0
Linux时间戳转换_时间戳转换软件
Python获取时间戳_python爬虫时间戳
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189145.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
5.9K0
点击加载更多

相似问题

获取将来的时间戳

60

是否可以使用Tradingview api绘制模式(XABCD)?

167

如何在tradingview上的自定义变量系列上绘制形状

119

如何在matplotlib中绘制时间戳(毫秒)

18

如何在Matlab中绘制奇怪的时间戳

35
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文