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


Posted in Python onFebruary 10, 2020

在使用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实例

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

Python 相关文章推荐
使用Python编写类UNIX系统的命令行工具的教程
Apr 15 Python
Python 爬虫学习笔记之多线程爬虫
Sep 21 Python
微信跳一跳python代码实现
Jan 05 Python
django传值给模板, 再用JS接收并进行操作的实例
May 28 Python
Python 3.6 -win64环境安装PIL模块的教程
Jun 20 Python
Python使用random模块生成随机数操作实例详解
Sep 17 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
Jun 08 Python
Python读取二进制文件代码方法解析
Jun 22 Python
python读取excel数据绘制简单曲线图的完整步骤记录
Oct 30 Python
Python3 类型标注支持操作
Jun 02 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
Feb 10 #Python
解决tensorflow添加ptb库的问题
Feb 10 #Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 #Python
python如何实现单链表的反转
Feb 10 #Python
基于python求两个列表的并集.交集.差集
Feb 10 #Python
python实现串口通信的示例代码
Feb 10 #Python
基于Tensorflow高阶读写教程
Feb 10 #Python
You might like
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
jQuery表单元素选择器代码实例
2017/02/06 Javascript
从零学习node.js之mysql数据库的操作(五)
2017/02/24 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
Vue2.x和Vue3.x的双向绑定原理详解
2020/11/05 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
TensorFlow基本的常量、变量和运算操作详解
2020/02/03 Python
tensorflow常用函数API介绍
2020/04/19 Python
Python3自动生成MySQL数据字典的markdown文本的实现
2020/05/07 Python
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
广告创意求职信
2014/03/17 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
人与自然观后感
2015/06/16 职场文书
运动会开幕式致辞
2015/07/29 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
利用nginx搭建RTMP视频点播、直播、HLS服务器
2022/05/25 Servers