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 将字符串转换成字典dict
Mar 24 Python
如何用Python合并lmdb文件
Jul 02 Python
Python基于SMTP协议实现发送邮件功能详解
Aug 14 Python
解决python 自动安装缺少模块的问题
Oct 22 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
Python 运行 shell 获取输出结果的实例
Jan 07 Python
python time.sleep()是睡眠线程还是进程
Jul 09 Python
Django框架中间件定义与使用方法案例分析
Nov 28 Python
Python 获取命令行参数内容及参数个数的实例
Dec 20 Python
python实现简单飞行棋
Feb 06 Python
jenkins+python自动化测试持续集成教程
May 12 Python
基于Python绘制个人足迹地图
Jun 01 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
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
php选择排序法实现数组排序实例分析
2015/02/16 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
php自动加载代码实例详解
2021/02/26 PHP
让Firefox支持event对象实现代码
2009/11/07 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
fullPage.js和CSS3实现全屏滚动效果
2017/05/05 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
使用webpack3.0配置webpack-dev-server教程
2018/05/29 Javascript
vue实现移动端悬浮窗效果
2018/12/01 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
python进阶教程之异常处理
2014/08/30 Python
详解在Python的Django框架中创建模板库的方法
2015/07/20 Python
Python中使用支持向量机(SVM)算法
2017/12/26 Python
python实现动态创建类的方法分析
2019/06/25 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
python实现堆排序的实例讲解
2020/02/21 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
Python Flask框架实现简单加法工具过程解析
2020/06/03 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
详解移动端h5页面根据屏幕适配的四种方案
2020/04/15 HTML / CSS
域名注册、建站工具、网页主机、SSL证书:Dynadot
2017/01/06 全球购物
护士毕业生自我鉴定
2014/02/08 职场文书
承诺书怎么写
2014/03/26 职场文书
创业女性典型材料
2014/05/02 职场文书
给医院的感谢信
2015/01/21 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
发工资啦!教你用Python实现邮箱自动群发工资条
2021/05/10 Python
tomcat下部署jenkins的方法
2022/05/06 Servers