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中time模块与datetime模块在使用中的不同之处
Nov 24 Python
深入理解NumPy简明教程---数组2
Dec 17 Python
python 表达式和语句及for、while循环练习实例
Jul 07 Python
Python 将RGB图像转换为Pytho灰度图像的实例
Nov 14 Python
Python进阶之递归函数的用法及其示例
Jan 31 Python
Python模块文件结构代码详解
Feb 03 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 Python
python二维列表一维列表的互相转换实例
Jul 02 Python
pandas 对group进行聚合的例子
Dec 27 Python
np.random.seed() 的使用详解
Jan 14 Python
Python 使用生成器代替线程的方法
Aug 04 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 批量删除数据的方法分析
2009/10/30 PHP
php自定义apk安装包实例
2014/10/20 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
javascript静态的url如何传递
2007/05/03 Javascript
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
2009/10/29 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
jquery ajax 局部无刷新更新数据的实现案例
2014/02/08 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
JS常用函数使用指南
2014/11/23 Javascript
JavaScript实现获取dom中class的方法
2015/02/09 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
微信浏览器内置JavaScript对象WeixinJSBridge使用实例
2015/05/25 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
微信小程序实现简单表格
2019/02/14 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
python3.6 实现AES加密的示例(pyCryptodome)
2018/01/10 Python
python实现桌面托盘气泡提示
2019/07/29 Python
Python银行系统实战源码
2019/10/25 Python
python cv2在验证码识别中应用实例解析
2019/12/25 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
python中rb含义理解
2020/06/18 Python
python3让print输出不换行的方法
2020/08/24 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
新郎新娘婚礼答谢词
2014/01/11 职场文书
2015年世界环境日活动方案
2015/05/05 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
外出考察学习心得体会
2016/01/18 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers