TensorFlow Saver:保存和读取模型参数.ckpt实例

 更新时间:2020年02月10日 11:16:45   作者:奔跑的Yancy  
今天小编就为大家分享一篇TensorFlow Saver:保存和读取模型参数.ckpt实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

在使用TensorFlow的过程中,保存模型参数变量是很重要的一个环节,既可以保证训练过程信息不丢失,也可以帮助我们在需要快速恢复或使用一个模型的时候,利用之前保存好的参数之间导入,可以节省大量的训练时间。本文通过最简单的例程教大家如何保存和读取.ckpt文件。

一、保存到文件

首先是导入必要的东西:

import tensorflow as tf
import numpy as np

随便写几个变量:

# Save to file
# remember to define the same dtype and shape when restore
W = tf.Variable([[1,2,3],[3,4,5]], dtype=tf.float32, name='weights')
b = tf.Variable([[1,2,3]], dtype=tf.float32, name='biases')
 
init= tf.initialize_all_variables()

定义一个saver,来存储我们的各种变量:

saver = tf.train.Saver()

保存的文件用.ckpt后缀:

with tf.Session() as sess:
  sess.run(init)
  save_path = saver.save(sess, "my_net/save_net.ckpt")
  print("Save to path: ", save_path)

上面我们就完成了保存操作。

接下来我们要把之前保存过的变量取出来。

二、取出之前保存的变量

这里要注意,取出时要先开辟一个容器来装,shape和type要和我们之前保存的.ckpt一样。

# restore variables
# redefine the same shape and same type for your variables
W = tf.Variable(np.arange(6).reshape((2, 3)), dtype=tf.float32, name="weights")
b = tf.Variable(np.arange(3).reshape((1, 3)), dtype=tf.float32, name="biases")

restore时,不需要进行init= tf.initialize_all_variables()操作。

利用saver提取文件:

saver = tf.train.Saver()
with tf.Session() as sess:
  saver.restore(sess, "my_net/save_net.ckpt")
  print("weights:", sess.run(W))
  print("biases:", sess.run(b))

结果:

以上这篇TensorFlow Saver:保存和读取模型参数.ckpt实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Matlab常见最优化方法的原理和深度分析

    Matlab常见最优化方法的原理和深度分析

    这篇文章主要介绍了Matlab常见最优化方法的原理和深度分析,matlab只是个软件,用来完成机械的计算,而如何安排这些计算,需要用户掌握最基本的数学概念,需要的朋友可以参考下
    2023-07-07
  • Python实现批量梯度下降法(BGD)拟合曲线

    Python实现批量梯度下降法(BGD)拟合曲线

    这篇文章主要介绍了Python实现批量梯度下降法(BGD)拟合曲线,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Python实现扫描局域网活动ip(扫描在线电脑)

    Python实现扫描局域网活动ip(扫描在线电脑)

    这篇文章主要介绍了Python实现扫描局域网活动ip(扫描在线电脑),本文直接给出实现代码,需要的朋友可以参考下
    2015-04-04
  • 使用Django和Flask获取访问来源referrer

    使用Django和Flask获取访问来源referrer

    这篇文章主要介绍了使用Django和Flask获取访问来源referrer,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • pyppeteer执行js绕过webdriver监测方法上

    pyppeteer执行js绕过webdriver监测方法上

    这篇文章主要为大家介绍了pyppeteer执行js绕过webdriver监测方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • python怎么创建新文件代码举例

    python怎么创建新文件代码举例

    Python创建新文件有多种方法,包括使用open函数、with语句和Pathlib模块,这篇文章主要给大家介绍了关于python怎么创建新文件的相关资料,需要的朋友可以参考下
    2023-12-12
  • python画条形图实例

    python画条形图实例

    这篇文章主要为大家详细介绍了python画条形图实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 浅谈Python 多进程默认不能共享全局变量的问题

    浅谈Python 多进程默认不能共享全局变量的问题

    今天小编就为大家分享一篇浅谈Python 多进程默认不能共享全局变量的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 只用50行Python代码爬取网络美女高清图片

    只用50行Python代码爬取网络美女高清图片

    第一次写文章,技术不成熟之处望各位大神轻喷,今天教大家只用50行Python代码爬取网络美女图片是怎么操作的,文中有非常详细的代码示例,对正在学习python的小伙伴们很有帮助哦,需要的朋友可以参考下
    2021-06-06
  • 在Python中测试访问同一数据的竞争条件的方法

    在Python中测试访问同一数据的竞争条件的方法

    这篇文章主要介绍了在Python中测试访问同一数据的竞争条件的方法,探究多线程或多进程情况下优先访问权的问题,需要的朋友可以参考下
    2015-04-04

最新评论