基于keras 模型、结构、权重保存的实现

 更新时间:2020年01月24日 10:12:22   作者:AI东海  
今天小编就为大家分享一篇基于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)

因此我们建模时最好给每个层定义名字

以上就是我们保存模型的三种方法,需要我们在实践时多总结。

这篇基于keras 模型、结构、权重保存的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何利用Matlab制作一款真正的拼图小游戏

    如何利用Matlab制作一款真正的拼图小游戏

    这篇文章主要给大家介绍了关于如何利用Matlab制作一款真正的拼图小游戏的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • python3.6的字符串处理f-string的使用技巧分享

    python3.6的字符串处理f-string的使用技巧分享

    在这篇文章中讲解了F字符串的基础使用,对于F字符串有着很多的使用技巧,在这篇文章中你会见识到更多的F字符串的使用技巧,下面小编将介绍python3.6 的字符串处理f-string的使用技巧,需要的朋友可以参考下
    2024-02-02
  • python计算机视觉opencv图像金字塔轮廓及模板匹配

    python计算机视觉opencv图像金字塔轮廓及模板匹配

    这篇文章主要为大家介绍了python计算机视觉opencv图像金字塔图像轮廓及模板匹配的学习讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • python爬取全国火锅店数量并可视化展示

    python爬取全国火锅店数量并可视化展示

    这篇文章主要介绍了python爬取全国火锅店数量并可视化展示,文章通过获取全国不同城市火锅店数量情况,并将这些数据进行可视化展示,下文详细内容介绍,需要的小伙伴可以参考
    2022-05-05
  •  Python列表的切片取值详解

     Python列表的切片取值详解

    这篇文章主要介绍了 Python列表的切片取值详解,文章通过围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • Python解决非线性规划中经济调度问题

    Python解决非线性规划中经济调度问题

    Scipy是Python算法库和数学工具包,包括最优化、线性代数、积分、插值、特殊函数、傅里叶变换等模块。scipy.optimize模块中提供了多个用于非线性规划问题的方法,适用于不同类型的问题。本文将利用起解决经济调度问题,感兴趣的可以了解一下
    2022-05-05
  • Python Tkinter模块实现时钟功能应用示例

    Python Tkinter模块实现时钟功能应用示例

    这篇文章主要介绍了Python Tkinter模块实现时钟功能,结合实例形式分析了Tkinter模块结合time模块实现的时钟图形绘制与计时功能相关操作技巧,需要的朋友可以参考下
    2018-07-07
  • 科学计算NumPy之Ndarray运算函数操作示例汇总

    科学计算NumPy之Ndarray运算函数操作示例汇总

    这篇文章主要为大家介绍了科学计算NumPy之Ndarray运算函数操作示例汇总,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • django 发送邮件和缓存的实现代码

    django 发送邮件和缓存的实现代码

    这篇文章主要介绍了django 发送邮件和缓存的实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • python学习之panda数据分析核心支持库

    python学习之panda数据分析核心支持库

    这篇文章主要给大家介绍了关于python学习之panda数据分析核心支持库的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05

最新评论