keras 中load模型时报错 ValueError: Unknown activation function:gelu

问题描述
在使用keras调用bert模型训练好的h5文件时报错,没有激活函数gelu
ValueError: Unknown activation function:gelu

报错原因:
应该是keras版本之间不匹配的问题,这里用的tensorflow版本为1.15.0,keras版本为2.3.1,另外附带的keras依赖的其他包版本如下:

keras 中load模型时报错 ValueError: Unknown activation function:gelu_第1张图片

解决办法
经过多步试错,发现对keras依赖的包的版本降级可行,降级为:

Keras==2.3.1
keras-bert==0.83.0
keras-embed-sim==0.9.0
keras-layer-normalization==0.15.0
keras-multi-head==0.28.0
keras-pos-embd==0.12.0
keras-position-wise-feed-forward==0.7.0
Keras-Preprocessing==1.1.0
keras-self-attention==0.50.0
keras-transformer==0.39.0

如果还不行,可以尝试改变tensorflow的相关包版本:

tensorboard-plugin-wit==1.6.0
tensorflow==1.15.0
tensorflow-estimator==1.15.1
termcolor==1.1.0
terminado==0.9.3

有用的话请留下个赞再走吧~

你可能感兴趣的:(自然语言处理)