解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
错误描述:
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() 报错处理问题就是小编分享给大家的全部内容了,希望能给大家一个参考。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Laravel5.1 框架数据库查询构建器用法实例详解
- php swoole多进程/多线程用法示例【基于php7nts版】
- PHP JWT初识及其简单示例
- PHP保存Base64图片base64_decode的问题整理
- php实现小程序支付完整版
- Laravel5.1 框架路由基础详解
- Laravel框架实现抢红包功能示例
- Laravel5.1 框架模型创建与使用方法实例分析
- php实现单笔转账到支付宝功能
- PHP发送邮件确认验证注册功能示例【修改别人邮件类】
- PHP实现微信退款功能
- 从零开始玩转PerfDogService---------初探篇
- php+laravel依赖注入知识点总结
- PHP获取当前系统时间的办法小结
- Laravel 中使用简单的方法跟踪用户是否在线(推荐)