解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题


Posted in Python onJune 12, 2020

错误描述:

1、保存模型:model.save_weights('./model.h5')

2、脚本重启

3、加载模型:model.load_weights('./model.h5')

4、模型报错:ValueError: You are trying to load a weight file containing 12 layers into a model with 0 layers.

问题分析:

模型创建后还没有编译,一般是在模型加载前调用model.build(input_shape), 但我通过Dataset将输入已经变为dict格式了,暂时没找这样输入怎么匹配input_shape参数

解决方法:

model.fit(train_dataset, epochs=0)

将epochs设为0,这样模型在编译的同时不会训练数据,减少耗费的时间,之后就可以正常加载保存的参数了

补充知识:调用Kears中kears.model.load_model方法遇到的问题和解决方法

之前一直使用tf和pytorch,就算是tf也是tf.estimator用得比较多,很少使用keras,最近尝试使用kears快速训练和部署一些分类任务,在使用load_model的时候遇到一些问题

问题1:

SystemError: unknown opcode

原因是因为模型定义用到了lambda

gap = Lambda(lambda x: x[0]/x[1], name = 'RescaleGAP')([gap_features, gap_mask])

我在python3.5的环境训练的模型,python3.6的环境load模型。两个环境的lambda有差异,这个问题。

问题2:

ValueError: Unknown metric function:****

我的错误是

ValueError: Unknown metric function:top_2_accuracy

因为在构建模型时,使用了自己定义的top_2_accuracy方法,所以在load_model时需要将top_2_accuracy做为参数传进去

from keras.models import load_model
from keras.metrics import top_k_categorical_accuracy
 
def top_2_accuracy(in_gt, in_pred):
  return top_k_categorical_accuracy(in_gt, in_pred, k=2)
 
model = load_model("model.h5",custom_objects={'top_2_accuracy': top_2_accuracy})

以上这篇解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
微信跳一跳游戏python脚本
Apr 01 Python
TensorFlow如何实现反向传播
Feb 06 Python
python获取程序执行文件路径的方法(推荐)
Apr 26 Python
Python设计模式之策略模式实例详解
Jan 21 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
Feb 22 Python
django最快程序开发流程详解
Jul 19 Python
python opencv实现gif图片分解的示例代码
Dec 13 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
Python阶乘求和的代码详解
Feb 14 Python
详解Python高阶函数
Aug 15 Python
解决python存数据库速度太慢的问题
Apr 23 Python
利用Pycharm连接服务器的全过程记录
Jul 01 Python
python + selenium 刷B站播放量的实例代码
Jun 12 #Python
解决Keras自带数据集与预训练model下载太慢问题
Jun 12 #Python
keras导入weights方式
Jun 12 #Python
keras读取h5文件load_weights、load代码操作
Jun 12 #Python
Python matplotlib 绘制双Y轴曲线图的示例代码
Jun 12 #Python
keras的siamese(孪生网络)实现案例
Jun 12 #Python
基于python实现模拟数据结构模型
Jun 12 #Python
You might like
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
js实现4个方向滚动的球
2017/03/06 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
微信小程序实现时间预约功能
2018/11/27 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
Python实现针对中文排序的方法
2017/05/09 Python
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
Python3实现转换Image图片格式
2018/06/21 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
python批量图片处理简单示例
2019/08/06 Python
python excel转换csv代码实例
2019/08/26 Python
python tkinter canvas使用实例
2019/11/04 Python
通过Python实现Payload分离免杀过程详解
2020/07/13 Python
python设置表格边框的具体方法
2020/07/17 Python
Python 实现微信自动回复的方法
2020/09/11 Python
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
教师见习期自我鉴定
2014/04/28 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
2015年计划生育责任书
2015/05/08 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
2022/04/06 Python
win10搭建配置ftp服务器的方法
2022/08/05 Servers