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 相关文章推荐
pycharm 使用心得(九)解决No Python interpreter selected的问题
Jun 06 Python
python实现进程间通信简单实例
Jul 23 Python
Python实现网站文件的全备份和差异备份
Nov 30 Python
Python 登录网站详解及实例
Apr 11 Python
Python实现将16进制字符串转化为ascii字符的方法分析
Jul 21 Python
Python中getpass模块无回显输入源码解析
Jan 11 Python
了解不常见但是实用的Python技巧
May 23 Python
Ubuntu+python将nii图像保存成png格式
Jul 18 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
Python3操作MongoDB增册改查等方法详解
Feb 10 Python
浅谈优化Django ORM中的性能问题
Jul 09 Python
Python访问Redis的详细操作
Jun 26 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中实现获取随机数组列表的自定义函数
2015/04/02 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
PHP 500报错的快速解决方法
2016/12/14 PHP
phpstorm 正则匹配删除空行、注释行(替换注释行为空行)
2018/01/21 PHP
PHP7数组的底层实现示例
2019/08/25 PHP
PHP xpath提取网页数据内容代码解析
2020/07/16 PHP
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
jQuery对象和DOM对象使用说明
2010/06/25 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
javascript实现日期格式转换
2014/12/16 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
javascript用rem来做响应式开发
2018/01/13 Javascript
微信小程序开发注意指南和优化实践(小结)
2019/06/21 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
Python的迭代器和生成器
2015/07/29 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
python装饰器练习题及答案
2019/11/01 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
澳大利亚二手奢侈品网站:Modsie
2019/09/23 全球购物
房地产销售员的自我评价分享
2013/12/04 职场文书
《狮子和鹿》教学反思
2016/02/16 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python
MyBatis 动态SQL全面详解
2021/10/05 MySQL
Windows server 2022创建创建林、域树、子域的步骤
2022/06/25 Servers