keras load model时出现Missing Layer错误的解决方式


Posted in Python onJune 11, 2020

问题描述:训练结束后,保存model为hdf5和yaml格式的文件

yamlFilename = os.path.join(dir,filename)
yamlModel = model.toyaml()
with open(yamlFilename, "w") as yamlFile:
 yamlFile.write(yamlModel)

随后load model

with open(chkptFilename,'r') as f:
 model_yaml = f.read()
model = KM.model_from_yaml(model_yaml,customs_objects={"dict":dict})
model.load_weights(weightFilename)

但是报错

问题分析:

经过debug分析,原因出在model建立过程中前面lambda层的inbound_node列表中含有后面层,因此从上到下load时,会找不到后面层。重新建立一次model,然后用model.summary() 可以看出其中的原因。

出现这种情况,可能的原因在于,该lambda层在其他py文件中定义,然后import进来,前后多次用到这个lambda层的话,在模型编译过程中,该lambda层可能只编译了一次,前后层共用之,导致后面层结点出现在前面层的inbound_node列表中。

解决办法:

不要在其他py文件中自定义lambda层,直接将其定义在model建立的文件中。或者直接继承Layer层,在其他py文件中重新自定义该层。

补充知识:加载keras模型'tf' is not defined on load_model() - using lambda NameError: name 'tf' is not defined报错

解决方法如下:

import tensorflow as tf
import keras
model = keras.models.load_model('my_model.h5', custom_objects={'tf': tf})

以上这篇keras load model时出现Missing Layer错误的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中精确输出JSON浮点数的方法
Apr 18 Python
python读取json文件并将数据插入到mongodb的方法
Mar 23 Python
python实现从网络下载文件并获得文件大小及类型的方法
Apr 28 Python
详解Python中使用base64模块来处理base64编码的方法
Jul 01 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
深入理解Python中变量赋值的问题
Jan 12 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
使用Python进行体育竞技分析(预测球队成绩)
May 16 Python
Python如何读取文件中图片格式
Jan 13 Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 Python
python中pycryto实现数据加密
Apr 29 Python
Pyinstaller加密打包应用的示例代码
Jun 11 #Python
解决keras加入lambda层时shape的问题
Jun 11 #Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 #Python
keras slice layer 层实现方式
Jun 11 #Python
Spring http服务远程调用实现过程解析
Jun 11 #Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
Jun 11 #Python
python怎么提高计算速度
Jun 11 #Python
You might like
php smarty函数扩展
2010/03/15 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
AngularJS单选框及多选框实现双向动态绑定
2016/01/13 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
基于Vuejs和Element的注册插件的编写方法
2017/07/03 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
2017/12/14 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
Vue表单控件绑定图文详解
2019/02/11 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
Python生成随机数的方法
2014/01/14 Python
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
Pandas 合并多个Dataframe(merge,concat)的方法
2018/06/08 Python
python-序列解包(对可迭代元素的快速取值方法)
2019/08/24 Python
浅析python,PyCharm,Anaconda三者之间的关系
2019/11/27 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
python 操作hive pyhs2方式
2019/12/21 Python
浅谈Python 函数式编程
2020/06/20 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
python中append函数用法讲解
2020/12/11 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
献爱心捐款倡议书
2014/05/14 职场文书
检讨书范文300字
2015/01/28 职场文书
地道战观后感
2015/06/04 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书