时间:2021-05-22
错误展示
new_model = load_model(“model.h5”)
报错:
1、keras load_model valueError: Unknown Layer :CRF
2、keras load_model valueError: Unknown loss function:crf_loss
错误修改
1、load_model修改源码:custom_objects = None 改为 def load_model(filepath, custom_objects, compile=True):
2、new_model = load_model(“model.h5”,custom_objects={‘CRF': CRF,‘crf_loss': crf_loss,‘crf_viterbi_accuracy': crf_viterbi_accuracy}
以上修改后,即可运行。
补充知识:用keras搭建bilstm crf
使用 https://github.com/keras-team/keras-contrib实现的crf layer,
安装 keras-contrib
pip install git+https://pile('rmsprop', loss=crf_layer.loss_function, metrics=[crf_layer.accuracy]) return modeldef save_embedding_bilstm2_crf_model(model, filename): save_load_utils.save_all_weights(model,filename)def load_embedding_bilstm2_crf_model(filename): model = build_embedding_bilstm2_crf_model() save_load_utils.load_all_weights(model, filename) return modelif __name__ == '__main__': model = build_embedding_bilstm2_crf_model()
注意:
如果执行build模型报错,则很可能是keras版本的问题。在keras-contrib==2.0.8且keras==2.0.8时,上面代码不会报错。
以上这篇keras 解决加载lstm+crf模型出错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
笔者小白在用Django写一个表格单据图片的识别应用的时候,遇到了调用基于Tensorflow的keras模型出错的问题。出现的错误信息类似于以下:ValueE
Keras保存为可部署的pb格式加载已训练好的.h5格式的keras模型传入如下定义好的export_savedmodel()方法内即可成功保存importke
Mac#数据集~/.keras/datasets/#模型~/.keras/models/Linux#数据集~/.keras/datasets/Windows#w
今天做了一个关于keras保存模型的实验,希望有助于大家了解keras保存模型的区别。我们知道keras的模型一般保存为后缀名为h5的文件,比如final_mo
背景在公司用多卡训练模型,得到权值文件后保存,然后回到实验室,没有多卡的环境,用单卡训练,加载模型时出错,因为单卡机器上,没有使用DataParallel来加载