1、环境
python 3.7.12
tensorflow 1.15
keras 2.3.1
bert4keras 0.9.7
protobuf 3.19.0
numpy 1.16.5
2、出现问题
- numpy版本不兼容问题所以你就直接按照我的版本就可以了(numpy 1.16.5)
- Process finished with exit code -1073741819 (0xC0000005) 代码程序直接给我把程序终止了
3、问题分析
首先查阅了资料也看了苏神github博客确实有人遇到了这个问题,但是问题其实并没有解决。无法训练,报错进程已结束,退出代码为 -1073741819 (0xC0000005) · Issue #345 · bojone/bert4keras (github.com)
除此之外我查到了一些博客,有下面几种情况,第一种是说需要把模型文件重新保存一下,但我觉得的不太对 我也没去试
还有就是说缺少dll文件,但是我看我的提示里边啥也没有,所以我觉得好像也不是这个原因
另外一个博客说是对应模型文件路径的问题,需要把路径改为据对路径,我试了一下依然没有什么用处,接着有查阅了很多博客依然没有什么可用的解决办法,所以我想这从代码入手亲自找到这个问题,通过pycahrm的debugger调试我终于知道程序强制退出停止的问题位置,但是依然不知道解决办法,但是至少知道了问题点在哪里问题就等于解决了一半了。就是
build_transformer_model方法里边的这一块的问题只要一加载权限文件程序就直接崩溃了,通过定位问题点我又查阅了对应的相关资料博客
终于找到了以为博主的建议,我也是抱着侥幸的心理尝试了一下,果然哈哈哈哈
解决办法如下:(添加tensorflow的引入,然后将其checkpoint文件目录使用tf.train.latest_checkpoint加载进去)
# 添加引入
import tensorflow as tf
config_path = './model/chinese_L-12_H-768_A-12/bert_config.json'
checkpoint_path = tf.train.latest_checkpoint(r'./model/chinese_L-12_H-768_A-12/bert_model.ckpt')
dict_path = './model/chinese_L-12_H-768_A-12/vocab.txt'
以上就是我今日分享的小tips哈哈哈,希望能够帮助到你~