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 相关文章推荐
wxPython学习之主框架实例
Sep 28 Python
Python标准库之随机数 (math包、random包)介绍
Nov 25 Python
python实现AES加密和解密
Mar 27 Python
itchat-python搭建微信机器人(附示例)
Jun 11 Python
在linux下实现 python 监控usb设备信号
Jul 03 Python
python识别文字(基于tesseract)代码实例
Aug 24 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Python sys模块常用方法解析
Feb 20 Python
Mac中PyCharm配置Anaconda环境的方法
Mar 04 Python
Python3操作YAML文件格式方法解析
Apr 10 Python
python logging模块的使用详解
Oct 23 Python
selenium判断元素是否存在的两种方法小结
Dec 07 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中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
php合并js请求的例子
2013/11/01 PHP
用函数式编程技术编写优美的 JavaScript
2006/11/25 Javascript
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
Javascript自定义排序 node运行 实例
2013/06/05 Javascript
js实现可拖动DIV的方法
2013/12/17 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
详解前后端分离之VueJS前端
2017/05/24 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
JS实现的base64加密解密操作示例
2018/04/18 Javascript
详解angular2 控制视图的封装模式
2018/12/27 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
Node.js中console.log()输出彩色字体的方法示例
2019/12/01 Javascript
Nuxt v-bind绑定img src不显示的解决
2019/12/05 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
vue实现登录拦截
2020/06/29 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
django实现同一个ip十分钟内只能注册一次的实例
2017/11/03 Python
wxpython绘制音频效果
2019/11/18 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
python做接口测试的必要性
2019/11/20 Python
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
AssertionError 跟一下那个类是 “is – a”的关系
2012/02/21 面试题
总经理秘书工作职责
2013/12/26 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
幼儿发展评估方案
2014/06/11 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
幼儿园安全工作总结2015
2015/04/20 职场文书
学生犯错保证书
2015/05/09 职场文书
仰望星空观后感
2015/06/10 职场文书
大学生党课感想
2015/08/11 职场文书
2016大一新生军训感言
2015/12/08 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB