完美解决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实现抓取百度搜索结果页的网站标题信息
Jan 22 Python
Python多线程爬虫简单示例
Mar 04 Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 Python
Python金融数据可视化汇总
Nov 17 Python
Python 循环语句之 while,for语句详解
Apr 23 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
python 产生token及token验证的方法
Dec 26 Python
python同义词替换的实现(jieba分词)
Jan 21 Python
Opencv常见图像格式Data Type及代码实例
Nov 02 Python
Pandas||过滤缺失数据||pd.dropna()函数的用法说明
May 14 Python
Python中的turtle画箭头,矩形,五角星
Mar 16 Python
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
Apr 24 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
PHP4引用文件语句的对比
2006/10/09 PHP
php数组去重复数据示例
2014/02/25 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
PHP数组操作类实例
2015/07/11 PHP
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
跟我学习javascript的全局变量
2015/11/16 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
jQuery分组选择器简单用法示例
2019/04/04 jQuery
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
python django集成cas验证系统
2014/07/14 Python
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
Python实现模拟登录及表单提交的方法
2015/07/25 Python
python得到单词模式的示例
2018/10/15 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
Python中格式化字符串的四种实现
2020/05/26 Python
python获取百度热榜链接的实例方法
2020/08/25 Python
中东地区为妈妈们提供一切的头号购物目的地:Sprii
2018/05/06 全球购物
教育专业自荐书范文
2013/12/17 职场文书
求职简历自我评价范例
2014/03/12 职场文书
应急管理培训方案
2014/06/12 职场文书
村干部任职承诺书
2015/01/21 职场文书
土地租赁协议书
2015/01/29 职场文书
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL