解决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执行子进程实现进程间通信的方法
Jun 02 Python
深入解析Python中的集合类型操作符
Aug 19 Python
django开发之settings.py中变量的全局引用详解
Mar 29 Python
python+pandas分析nginx日志的实例
Apr 28 Python
PHP实现发送和接收JSON请求
Jun 07 Python
django框架模板语言使用方法详解
Jul 18 Python
python实现递归查找某个路径下所有文件中的中文字符
Aug 31 Python
python3实现微型的web服务器
Sep 03 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
python中Matplotlib绘制直线的实例代码
Jul 04 Python
python 安全地删除列表元素的方法
Mar 16 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
phpmyadmin操作流程
2006/10/09 PHP
HTML node相关的一些资料整理
2010/01/01 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
在myeclipse中如何加入jquery代码提示功能
2014/06/03 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
创建一个类Person的简单实例
2016/05/17 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
2017/03/23 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
2017/03/24 jQuery
vue+vuex+axio从后台获取数据存入vuex实现组件之间共享数据
2017/04/22 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
vue watch监听对象及对应值的变化详解
2018/02/24 Javascript
详解vue使用插槽分发内容slot的用法
2019/03/28 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
2019/05/22 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
在MAC上搭建python数据分析开发环境
2016/01/26 Python
Python实现简单登录验证
2016/04/13 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
pandas 缺失值与空值处理的实现方法
2019/10/12 Python
Python datetime 如何处理时区信息
2020/09/02 Python
pip install命令安装扩展库整理
2021/03/02 Python
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
服务之星事迹材料
2014/05/03 职场文书
涪陵白鹤梁导游词
2015/02/09 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
如何撰写促销方案?
2019/07/05 职场文书
ant design vue的form表单取值方法
2022/06/01 Vue.js