keras的load_model实现加载含有参数的自定义模型


Posted in Python onJune 22, 2020

网上的教程大多数是教大家如何加载自定义模型和函数,如下图

keras的load_model实现加载含有参数的自定义模型

这个SelfAttention层是在训练过程自己定义的一个class,但如果要加载这个自定义层,需要在load_model里添加custom_objects字典,这个自定义的类,不要用import ,最好是直接复制进再训练的模型中,这些是基本教程。

------------------分割线讲重点------------------

如果直接运行上面的代码,会出现一个init初始化错误,如下图,

keras的load_model实现加载含有参数的自定义模型

再来看看 这个SelfAttention 自定义的类的初始化

keras的load_model实现加载含有参数的自定义模型

这就说明再调用这个类的时候,输入的ch=256并不会初始化这个类,需要先自定义好初始化值,如下图

keras的load_model实现加载含有参数的自定义模型

调用方式不变

keras的load_model实现加载含有参数的自定义模型

这样问题就解决啦!

补充知识:keras load model的时候,报错('Keyword argument not understood:', u'******')如何解决

由于keras不同版本的API有变化,因此在一个keras版本下训练的模型在另一个keras版本下加载时,可能会出现诸如('Keyword argument not understood:', u'data_format')等报错。

通过打开*.h5文件,查看该模型训练所用环境,再安装该环境即可解决报错。

查看Keras Model所用的Keras环境的方法

import h5py

f = h5py.File('Model.h5', 'r')
print(f.attrs.get('keras_version'))

根据输出的keras版本安装对应版本的keras即可解决加载问题。

以上这篇keras的load_model实现加载含有参数的自定义模型就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python的Tornado框架异步编程入门实例
Apr 24 Python
使用FastCGI部署Python的Django应用的教程
Jul 22 Python
Python 读写文件和file对象的方法(推荐)
Sep 12 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
Python数据结构之翻转链表
Feb 25 Python
selenium在执行phantomjs的API并获取执行结果的方法
Dec 17 Python
python3实现字符串操作的实例代码
Apr 16 Python
Python如何优雅获取本机IP方法
Nov 10 Python
postman和python mock测试过程图解
Feb 22 Python
python代码实现TSNE降维数据可视化教程
Feb 28 Python
python中sympy库求常微分方程的用法
Apr 28 Python
Python+Matplotlib+LaTeX玩转数学公式
Feb 24 Python
python GUI模拟实现计算器
Jun 22 #Python
keras CNN卷积核可视化,热度图教程
Jun 22 #Python
python实现斗地主分牌洗牌
Jun 22 #Python
解决Keras使用GPU资源耗尽的问题
Jun 22 #Python
Keras - GPU ID 和显存占用设定步骤
Jun 22 #Python
Python 基于jwt实现认证机制流程解析
Jun 22 #Python
python中format函数如何使用
Jun 22 #Python
You might like
php中apc缓存使用示例
2013/12/25 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
php生成年月日下载列表的方法
2015/04/24 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
Symfony控制层深入详解
2016/03/17 PHP
PHP图像识别技术原理与实现
2016/10/27 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
尽可能写"友好"的"Javascript"代码
2007/01/09 Javascript
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
DOM节点的替换或修改函数replaceChild()用法实例
2015/01/12 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
JavaScript实现点击文本自动定位到下拉框选中操作
2016/06/15 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
跟老齐学Python之使用Python查询更新数据库
2014/11/25 Python
谈谈python中GUI的选择
2018/03/01 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
django2.0扩展用户字段示例
2019/02/13 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
使用python-Jenkins批量创建及修改jobs操作
2020/05/12 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
小学生节约用水倡议书
2014/05/15 职场文书
困难补助申请报告
2015/05/19 职场文书
如何理解Vue简单状态管理之store模式
2021/05/15 Vue.js