完美解决keras保存好的model不能成功加载问题


Posted in Python onJune 11, 2020

前两天调用之前用keras(tensorflow做后端)训练好model,却意外发现报错了!!之前从来没有过报错!!错误内容粘贴如下:

File “h5py_objects.pyx”, line 54, in h5py._objects.with_phil.wrapper (C:\Minonda\conda-bld\h5py_1496885653697\work\h5py_objects.c:2867)

File “h5py_objects.pyx”, line 55, in h5py._objects.with_phil.wrapper (C:\Minonda\conda-bld\h5py_1496885653697\work\h5py_objects.c:2825)

File “h5py\h5f.pyx”, line 78, in h5py.h5f.open (C:\Minonda\conda-bld\h5py_1496885653697\work\h5py\h5f.c:2140)
OSError: Unable to open file (File signature not found)

意思好像就是文件结构找不到了,然后我百度了,他说是训练好的文件数据丢失了,重新训练就好了。

但是,我重新训练了好几次,确保训练的model文件没有错误,在调用时依然报了同样的错误。

一气之下,我卸载了h5py,然后重新安装h5py的最新版本,问题竟然神奇的解决了,哈哈哈哈!幸运!

补充知识:Keras使用 Lambda后训练出的模型加载后,预测结果为随机

问题

Keras 使用 Lambda后训练出的模型加载后,预测结果为随机accuracy

解决方案

原因出在,我构建模型的时候需要用到TensorFlow的一些函数,所以用了Lambda,有把一些需要训练weights的层也写到了里面。

重点就在这,模型权重保存的时候,没保存Lambda里面的。

用notepad打开权重文件,发现里面保存的Tensor不包含这些,所以每一次重新加载模型测试的时候都会重新初始化一些层的权重,导致结果是随机的。

结论

不要在Lambda层里面加入任何需要训练权重的层

模型保存出错的时候,看一下模型文件里面保存的Tensor是否一致

以上这篇完美解决keras保存好的model不能成功加载问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 的 with 语句详解
Jun 13 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
简单讲解Python中的数字类型及基本的数学计算
Mar 11 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 Python
Python自定义聚合函数merge与transform区别详解
May 26 Python
解决Windows下python和pip命令无法使用的问题
Aug 31 Python
Python urllib库如何添加headers过程解析
Oct 05 Python
python中如何使用虚拟环境
Oct 14 Python
Python Socket多线程并发原理及实现
Dec 11 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 Python
Python PIL按比例裁剪图片
May 11 Python
keras load model时出现Missing Layer错误的解决方式
Jun 11 #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
You might like
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
js表格分页实现代码
2009/09/18 Javascript
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
最实用的JS数组函数整理
2017/12/05 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
Angular6笔记之封装http的示例代码
2018/07/27 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
解决element-ui里的下拉多选框 el-select 时,默认值不可删除问题
2020/08/14 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
python3 map函数和filter函数详解
2019/08/26 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
python实现同一局域网下传输图片
2020/03/20 Python
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
马来西亚网上美容店:Hermo.my
2017/11/25 全球购物
美国和加拿大房车出售在线分类广告:RVT.com
2018/04/23 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
品酒会策划方案
2014/05/26 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
自愿离婚协议书2015
2015/01/26 职场文书
颐和园英文导游词
2015/01/30 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书
成人成长感言如何写?
2019/08/16 职场文书
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang
gateway网关接口请求的校验方式
2021/07/15 Java/Android
MongoDB数据库部署环境准备及使用介绍
2022/03/21 MongoDB