Keras模型保存的几个方法和它们的区别

github博客传送门
csdn博客传送门

Keras模型保存简介

model.save()

model_save_path = "model_file_path.h5"
# 保存模型
model.save(model_save_path)
# 删除当前已存在的模型
del model
# 加载模型
from keras.models import load_model
model = load_model(model_save_path)

model.save_weights()

model_save_path = "model_file_path.h5"
# 保存模型权重
model.save_weights(model_save_path)
# 加载模型权重
model.load_weights(model_save_path)

model.to_json()

# 保存模型网络结构
json_string = model.to_json()
with open("model_save_file.json", "w") as f:
    f.write(json_string)  # 将模型转为json文件后的字符串写入本地
# 读取模型网络结构
from keras.models import model_from_json
with open("model_save_file.json", "r") as f:
    json_string = f.read()  # 读取本地模型的json文件
model = model_from_json(json_string)  # 创建一个模型

model.to_yaml()

# 保存模型网络结构
yaml_string = model.to_yaml()
with open("model_save_file.yaml", "w") as f:
    f.write(yaml_string)  # 将模型转为yaml文件后的字符串写入本地
# 读取模型网络结构
from keras.models import model_from_yaml
with open("model_save_file.yaml", "r") as f:
    yaml_string = f.read()  # 读取本地模型的yaml文件
model = model_from_yaml(yaml_string)  # 创建一个模型

现在我们来说说这四种保存模型的联系与区别

项目 是否保存模型结构 是否保存模型权重 是否能继续训练网络 是否能进行模型预测
model.save()
model.save_weights()
model.to_json() 加载权重后能进行正常预测
model.to_yaml() 加载权重后能进行正常预测
如有测试错误,欢迎指正.谢了.
print_r('点个赞吧');
var_dump('点个赞吧');
NSLog(@"点个赞吧!")
System.out.println("点个赞吧!");
console.log("点个赞吧!");
print("点个赞吧!");
printf("点个赞吧!\n");
cout << "点个赞吧!" << endl;
Console.WriteLine("点个赞吧!");
fmt.Println("点个赞吧!")
Response.Write("点个赞吧");
alert(’点个赞吧’)

原文地址:https://www.cnblogs.com/Mrzhang3389/p/10746300.html

时间: 2024-08-30 18:01:26

Keras模型保存的几个方法和它们的区别的相关文章

sklearn 中模型保存的两种方法

一. sklearn中提供了高效的模型持久化模块joblib,将模型保存至硬盘. from sklearn.externals import joblib #lr是一个LogisticRegression模型 joblib.dump(lr, 'lr.model') lr = joblib.load('lr.model') 二.pickle >>> from sklearn import svm >>> from sklearn import datasets >&

保存及读取keras模型参数

转自:http://blog.csdn.net/u010159842/article/details/54407745,感谢分享~ 你可以使用model.save(filepath)将Keras模型和权重保存在一个HDF5文件中,该文件将包含: 模型的结构,以便重构该模型 模型的权重 训练配置(损失函数,优化器等) 优化器的状态,以便于从上次训练中断的地方开始 使用keras.models.load_model(filepath)来重新实例化你的模型,如果文件中存储了训练配置的话,该函数还会同时

Keras学习手册(五),Keras 模型-Sequential API

感谢作者分享-http://bjbsair.com/2020-04-07/tech-info/30662.html 在 Keras 中有两类主要的模型:Sequential 顺序模型 和 使用函数式 API 的 Model 类模型. 这些模型有许多共同的方法和属性: model.layers 是包含模型网络层的展平列表. model.inputs 是模型输入张量的列表. model.outputs 是模型输出张量的列表. model.summary() 打印出模型概述信息. 它是 utils.p

[MISS静IOS开发原创文摘]-AppDelegate存储全局变量和 NSUserDefaults standardUserDefaults 通过模型保存和读取数据,存储自定义的对象

由于app开发的需求,需要从api接口获得json格式数据并保存临时的 app的主题颜色 和 相关url 方案有很多种: 1, 通过AppDelegate保存为全局变量,再获取 2,使用NSUSerDefault 第一种 :通过AppDelegate方法: 定义全局变量 // // AppDelegate.h // // Created by MISSAJJ on 15/5/5. // Copyright (c) 2015年 MISSAJJ. All rights reserved. // #i

一种基于RBAC模型的动态访问控制改进方法

本发明涉及一种基于RBAC模型的动态访问控制改进方法,属于访问控制领域.对原有RBAC模型进行了权限的改进和约束条件的改进,具体为将权限分为静态权限和动态权限,其中静态权限是非工作流的权限,动态权限是工作流中的权限:将约束条件分为静态约束和动态约束,其中静态约束包括最小权限约束和职责分离约束,动态约束使动态权限按照工作流进行操作.采用本发明的方法改进后的RBAC模型具有以下优势:为传统的RBAC模型中增加了动态特性:跟纯动态模型相比较具有更高的效率:保证需要按顺序执行的权限能够按顺序执行,使得系

TensorFlow模型保存和提取方法

TensorFlow模型保存和提取方法 原创 2017年06月01日 11:25:25 标签: TensorFlow / 模型保存 / 模型提取 / tf.train.Saver 7004 一.TensorFlow模型保存和提取方法 1. TensorFlow通过tf.train.Saver类实现神经网络模型的保存和提取.tf.train.Saver对象saver的save方法将TensorFlow模型保存到指定路径中,saver.save(sess,"Model/model.ckpt"

【tf.keras】tf.keras模型复现

keras 构建模型很简单,上手很方便,同时又是 tensorflow 的高级 API,所以学学也挺好. 模型复现在我们的实验中也挺重要的,跑出了一个模型,虽然我们可以将模型的 checkpoint 保存,但再跑一遍,怎么都得不到相同的结果,对我而言这是不能接受的. 用 keras 实现模型,想要能够复现,需要将设置各个可能的随机过程的 seed:而且,代码不要在 GPU 上跑,而是在 CPU 上跑.(也就是说,GPU 上得到的 keras 模型没办法再复现.) 我的 tensorflow+ke

keras中保存自定义层和loss

在keras中保存模型有几种方式: (1):使用callbacks,可以保存训练中任意的模型,或选择最好的模型 logdir = './callbacks' if not os.path.exists(logdir): os.mkdir(logdir) output_model_file = os.path.join(logdir, "xxxx.h5") callbacks = [ tf.keras.callbacks.ModelCheckpoint(output_model_file

php实现上传图片保存到数据库的方法

http://www.jb51.net/article/61034.htm 作者:傲雪星枫 字体:[增加 减小] 类型:转载 这篇文章主要介绍了php实现上传图片保存到数据库的方法,可通过将图片保存在数据库实现多台服务器共享文件的功能,非常具有实用价值,需要的朋友可以参考下 php实现上传图片保存到数据库的方法.分享给大家供大家参考.具体分析如下: php 上传图片,一般都使用move_uploaded_file方法保存在服务器上.但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能