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中查找excel某一列的重复数据 剔除之后打印
Feb 10 Python
python网络编程学习笔记(九):数据库客户端 DB-API
Jun 09 Python
python通过pil模块获得图片exif信息的方法
Mar 16 Python
Python多线程编程(五):死锁的形成
Apr 05 Python
python使用分治法实现求解最大值的方法
May 12 Python
python基础之入门必看操作
Jul 26 Python
Python异常处理操作实例详解
May 10 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
Python matplotlib画图与中文设置操作实例分析
Apr 23 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
pytorch下使用LSTM神经网络写诗实例
Jan 14 Python
Python中常用的高阶函数实例详解
Feb 21 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中使用正则表达式进行查找替换
2013/06/13 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
php 无限级分类 获取顶级分类ID
2016/03/13 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
Yii框架模拟组件调用注入示例
2019/11/11 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
Jquery实现视频播放页面的关灯开灯效果
2013/05/27 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
js获取当前时间(昨天、今天、明天)
2016/11/23 Javascript
基于Javascript倒计时效果
2016/12/22 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
Ionic + Angular.js实现验证码倒计时功能的方法
2017/06/12 Javascript
jquery tmpl模板(实例讲解)
2017/09/02 jQuery
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
vue+高德地图实现地图搜索及点击定位操作
2020/09/09 Javascript
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
30分钟搭建Python的Flask框架并在上面编写第一个应用
2015/03/30 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
CSS3实现文字描边的2种方法(小结)
2020/02/14 HTML / CSS
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
附答案的Java面试题
2012/11/19 面试题
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
四风问题个人对照检查剖析材料
2014/09/27 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
实习感想范文
2015/08/10 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书