与此问题斗争了整整十天。win10,keras2.4.3,CUDA 10.1,CUDNN 7.6, tensorflow 2.3.0,驱动程序nvida 452

该问题出现在BiLSTM(GPU加速)的快速运算过程中,但凡在BiLSTM的后端添加任何层,处理百万数据时,往往训练几个epoch,甚至是几十个batch就会崩溃。

期间试过了无数的方法。包括、

1)误认为是显存问题

2)分批加载至内存,清空,重新model

3)降低keras版本,一个版本一个版本试错,从2.4.3降到2.3.0,成功了。但是运行速度特别慢。

4)不用keras的BiLSTM,重新写BiLSTM。

但是都没用。最后怀着无比绝望的心情,看到了tensorflow上的一个open bug标志。

当时,我认为,这个问题解决不了了。有猴子评论说,坐等keras支持更高级的CUDA。我也信了。因为Keras最新只支持CUDA 10.1和CUDNN7.6。

还好自己一直关注这个问题,终于在网址https://github.com/tensorflow/tensorflow/issues/37942中寻找到了一个被close的同一问题。、

里面一个网友,轻描淡写的写了一句,卸了驱动,装431。

我就抱着最后一丝希望试了试。还真成功了。。

这说明软件的缺陷,指派给了不同的管理员,解决方式是完全不一样,信息不对等,人也不是全能,全知。

tensorflow的管理员有多个,面对不同人汇报的同一问题,一个open了,一个close了。然后两个问题的描述也不一致。一个叫BiLSTM问题,另外一个叫Failed to call ThenRnnForward with model config。

正好我做的相似缺陷报告检测就是分析不同缺陷报告之间的文本差异,回答“不同缺陷报告是否属于同一缺陷”。自己的研究,也被自己撞上了。。。

通过搜索该版本驱动。重新安装整个过程。

最后会遇到以前运行模型经常遇到的BLAS问题,对,我叫不拉屎问题。程序不拉屎。

看到不拉屎问题,而不是 Failed to call ThenRnnForward with model config问题,我就释然了。

不拉屎问题添加如下代码即可:

(重磅)Internal: Failed to call ThenRnnForward with model config问题的解决(Keras 2.4.3和Tensorflow2.0系列)的更多相关文章

  1. tensorflow报错:Attempting to fetch value instead of handling error Internal: failed to get device attribute 13 for device 0: CUDA_ERROR_UNKNOWN:

    就是在spyder跑上一篇文章的代码然后就报错: Attempting to fetch value instead of handling error Internal: failed to get ...

  2. Failed to create the Java Virtual Machine.问题的解决

    运行Eclipse,出现了"Failed to create the Java Virtual Machine."错误: 解决的办法是在Eclipse的解压目录下找到eclipse ...

  3. 问题Initial SessionFactory creation failed.org.hibernate.HibernateException: /hibernate.cfg.xml not found解决方法

    问题Initial SessionFactory creation failed.org.hibernate.HibernateException: /hibernate.cfg.xml not fo ...

  4. Problem after converting keras model into Tensorflow pb - 将keras模型转换为Tensorflow pb后的问题

    I'm using keras 2.1.* with tensorflow 1.13.* backend. I save my model during training with .h5 forma ...

  5. (转)启动网卡报错(Failed to start LSB: Bring up/down networking )解决办法总结

    启动网卡报错(Failed to start LSB: Bring up/down networking )解决办法总结 原文:http://blog.51cto.com/11863547/19059 ...

  6. vue-cli · Failed to download repo vuejs-templates/webpack-simple: tunneling socket could not be established, cause=connect ECONNREFUSED 127.0.0.1:8086 && vue init webpack-simple xxx

    vue init webpack-simple mywork报错如下: vue-cli · Failed to download repo vuejs-templates/webpack-simple ...

  7. [Tensorflow] 使用 model.save_weights() 保存 / 加载 Keras Subclassed Model

    在 parameters.py 中,定义了各类参数. # training data directory TRAINING_DATA_DIR = './data/' # checkpoint dire ...

  8. Command failed: git -c core.longpaths=true config --get remote.origin.url

    「Unable to Connect to GitHub.com For Cloning」 Error: Command failed: git -c core.longpaths=true conf ...

  9. 误删Django的model中的表解决办法

    误删Django的model中的表解决办法 1.model里面的表格实际的操作都在migrations文件夹中,里面记录了操作过程,当在database和model中删除表格时要注意初始化数据库时会报 ...

随机推荐

  1. 1030 Travel Plan

    A traveler's map gives the distances between cities along the highways, together with the cost of ea ...

  2. JavaScript数组详解-全网最全

    定义数组的方式 定义数组的方式有多种,分别如下 let array=[] (字面量) let array=new Array() let array=new Array([length]) lengt ...

  3. WordPress 缩率图学习笔记

    WordPress 缩率图学习笔记 Wordpress在生成缩略图的过程中,有两种不同的规则 缩放模式:缩放模式就是将图片等比例缩小,且新生成的缩略图长度或高度两者之中,有一个是你设置的缩略图的尺寸 ...

  4. form表单验证提交

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 【Java注解】@PostConstruct 注解相关

    不多逼逼,直接看注解上面的文档, @PostConsturct PostConstruct注释用于需要执行的方法在依赖注入完成后执行任何初始化.这个方法必须在类投入服务之前调用. 这个所有支持依赖关系 ...

  6. hdu1287 破译密码

    题意: 破译密码 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  7. PAT 乙级 -- 1006 -- 换个格式输出整数

    题目简述 让我们用字母B来表示"百".字母S表示"十",用"12-n"来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整 ...

  8. ajax提交session超时跳转页面使用全局的方法来处理

    来自:http://www.jb51.net/article/43770.htm 如果是ajax提交,超时时从服务器发出的跳转命令就不会起作用,所以如果是session超时,而且是在ajax请求,就在 ...

  9. Andrew Ng机器学习算法入门(二):机器学习分类

    机器学习的定义 Arthur Samuel给出的定义,Field of Study that gives computers the ability to learn without being ex ...

  10. (9)MySQL进阶篇SQL优化(InnoDB锁-记录锁)

    1.概述 InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的.InnoDB这种行锁实现特点意味着:只有通过索引条件检索 ...