基于keras 模型、结构、权重保存的实现
作者:AI东海 发布时间:2022-12-20 06:31:22
标签:keras,模型,结构,权重
如何将训练好的网络进行保存,我们可以用pickle或cPickle来保存Keras模型,同时我们可以用下面的方法:
一、保存整个模型
model.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件将包含:
模型的结构
模型的权重
训练配置(损失函数,优化器,准确率等)
优化器的状态,以便于从上次训练中断的地方
前提是已经安装python的h5py包.
from keras.models import load_model
当我们再一次使用时可以model.load_model(filepath)载入模型
二、保存模型的结构
model.to_jason()将模型序列化保存为json文件,里面记录了网络的整体结构, 各个层的参数设置等信息. 将json字符串保存到文件.
open(‘filename.json','w').write(json_string)
from keras.models import model_form_json
json_string=open('filename.json').read()
model=model_from_json(json_string)
除了json格式,还可以保存为yaml格式的字符串,形式与JSON一样
三、保存模型权重
model.save_weights()
我们经过调参后网络的输出精度比较满意后,可以将训练好的网络权重参数保存下 来.可通过下面的代码利用HDF5进行保存
model.save_weights(‘model_weights.h5')
使用的时加载模型:
model.load_weights(‘model_weights.h5')
如果你需要加载权重到不同的网络结构(有些层一样)中,例如fine-tune或transfer-learning,你可以通过层名字来加载模型:
model.load_weights('my_model_weights.h5', by_name=True)
因此我们建模时最好给每个层定义名字
来源:https://blog.csdn.net/gdh756462786/article/details/79163278


猜你喜欢
- 目录一、MySQL数据备份1.1、 mysqldump命令备份数据1.2、 mysqldump常用操作示例1.3、 还原mysql备份内容二
- 在用户执行粘贴操作的时候,js能够获得剪切板的内容,本文讨论一下这个问题。目前只有Chrome支持获取剪切板中的图片数据。还好需要这个功能的
- 在本章中,我们将详细讨论对称和非对称密码术.对称密码术在此类型中,加密和解密进程使用相同的密钥.它也被称为秘密密钥加密.对称加密的主要特征如
- Python ORM 概览作为一个美妙的语言,Python 除了 SQLAlchemy 外还有很多ORM库。在这篇文章里,我们将来看看几个流
- 块级函数严格模式下,在 ES6 之前应禁止使用。ES6 开始可以使用,函数的作用域为声明该函数的块内部。非严格模式下应禁止使用。if(tru
- 今天帮同事处理一个棘手的事情,问题是这样的:无论在客户机用哪个版本的mysql客户端连接服务器,发现只要服务器端设置了character-s
- 注意:当前功能仅在windows下可使用参考链接:https://github.com/konimarti/opc命令行窗口必须在管理员权限
- 1. 安装完整的vim# apt-get install vim-gnome2. 安装ctags,ctags用于支持taglist,必需!#
- 一、创建mysql数据库1.创建数据库语法--创建名称为“testdb”数据库,并设定编码集为utf8CREATE DATABASE IF
- def sa_obj_to_dict(obj, filtrate=None, rename=None):
- 在实际编程开发中,我们会使用到各类的加密算法来对数据和信息进行加密。比如密码中比较常见的MD5加密,以及AES加密等等。对于密码认证来说,M
- 写models.py时缺少了一个 verbose_name,导致数据库出现问题,整了很久,摸索出重新建立数据库的方法:首先删除每个app中的
- 今天,使用各种所见即所得工具制作主页已经是一件非常容易的事情了。但是了解HTML源代码和语法,无疑对我们制作主页有更大的帮助,也可以使用户能
- 下面我讲讲关于这套系统的加载流程 定义根目录,定义include目录 加载核心文件 配置文件'config.inc.php'
- 本文实例讲述了Python面向对象程序设计OOP。分享给大家供大家参考,具体如下:类是Python所提供的最有用的的工具之一。合理使用时,类
- 其实golang用一个函数可以构建一个并发队列,现在编写一个灵活可控的队列程序先定义一个工作type Worker struct { &nb
- MySQL日志文件相信大家都有很多的了解,MySQL日志文件一般在:/var/log/mysqld.log,下面就教您修改MySQL日志文件
- 前言又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool。下面话不多说了,来一起看看详细的介绍吧。先准备好:12306网站
- 对数学家来说,Python这门语言有着很多吸引他们的地方。举几个例子:对于tuple、lists以及sets等容器的支持,使用与传统数学类似
- 简介在日常开发中,我们的大部分时间都会花在阅读traceback模块信息以及调试代码上。本文我们将改进traceback模块,让其中的提示信