与此问题斗争了整整十天。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标志。

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

 

当时,我认为,这个问题解决不了了。有猴子评论说,坐等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。

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

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

 

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

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

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

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

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