Tensorflow Saver
1. TF---Saver背景介绍
在训练完一个model后hope保存训练的结果(结果:model参数),以便下次迭代的训练或测试, TF针对这一需求提供了Saver类;
(1)Saver类提供了向checkpoints文件保存和从Checkpoints文件中恢复变量的相关方法,Checkpoints文件是一二进制文件,作用:把变量名映射到对应的tensor值。
(2)只要提供一个计数器,但计数器触发时,Saver类可自动生成checkpoint文件,可保存训练过程中多个训练结果,如:保存每一步训练结果…
(3)为避免填充整个磁盘,Saver可自动管理Checkpoints文件,如,可指定保存最近N个Checkpoints文件
In short, Saver类将训练结果保存为checkpoint二进制文件,同时可保存多个checkpoint文件
2. Saver实例------4参数
isTrain: 用来区分训练阶段和测试阶段, True表训练 False 表测试
train_steps: 表 训练次数 example:100
checkpoint_steps: 表训练多少次保存一下checkpoints example:50
checkpoint_dir: 表 checkpoints文件保存路径 example:当前路径
3. 训练阶段
使用Saver.save()方法保存模型:
sess: 当前会话 当前会话记录着当前所有变量值
checkpoint_dir + ‘ model.ckpt ’: 表checkpoint文件的文件名
global_step: 表当前是第几步
训练完成后,保存目录会至少多出4个文件(checkpoint create.py model.ckpt-50 model.ckpt-50.meta …)后面两个文件可能重复
4. 测试阶段
使用saver.restore( ) 方法恢复变量
- sess: 表当前会话,之前保存的结果被加载到这个sess(会话)
- ckpt.model_checkpoint_path:表model存储位置(不需要有模型名字,系统会自动查看ckptpoint 文件,看看最新的是谁,name是什么)
具体流程( 含命令行 )
为了保存训练好的模型参数,以便以后验证和测试,TF提供了tf.train.Saver()模块
模型保存,
1.. 创建Saver对象 同时设置max_to_keep 参数
需要创建一个Saver对象:
saver = tf.train.Saver()
在创建saver对象时,有一参数max_to_keep参数,设置保存模型的个数;默认max_to_keep=5(保存最近的5个模型);若如果你想每训练一代(epoch)就想保存一次模型,则可以将 max_to_keep设置为None或者0
saver = tf.train.Saver( max_to_keep = 0 )
若只想保存最后一次模型参数,只需saver = tf.train.Saver( max_to_keep = 1 )
2.. 保存模型
创建完Saver对象后,就可以保存模型了
如:saver.save( sess, ‘ckpt/mnist.ckpt’, global_step = step )
第一个参数sess 当前会话 当前会话记录着当前所有变量值
第二个参数指定保存路径和名字
第三个参数:将训练次数作为后缀添加到模型名字后
如:saver.save(sess, 'my-model', global_step=0) ==> filename: 'my-model-0'
3.. 模型恢复 restore()函数
有两个参数restore( sess, save_path ) save_path指的是保存的模型路径。我们可以使用tf.train.latest_checkpoint()来自动获取最后一次保存的模型
如: model_file = tf.train.latest_checkpoint( ‘ckpt/ ‘ )
saver.restore( sess, model_file )
reference:
https://blog.csdn.net/u011500062/article/details/51728830
http://www.imooc.com/article/33993 结构清晰
http://blog.csdn.net/weixin_38208741/article/details/78812562 例子和细节
Tensorflow Saver相关推荐
- 手把手教你使用TF服务将TensorFlow模型部署到生产环境
2019独角兽企业重金招聘Python工程师标准>>> 介绍 将机器学习(ML)模型应用于生产环境已成为一个火热的的话题,许多框架提供了旨在解决此问题的不同解决方案.为解决这一问题, ...
- tensorflow图形识别_手把手教你使用TF服务将TensorFlow模型部署到生产环境
摘要: 训练好的模型不知道如何布置到生产环境?快来学习一下吧! 介绍 将机器学习(ML)模型应用于生产环境已成为一个火热的的话题,许多框架提供了旨在解决此问题的不同解决方案.为解决这一问题,谷歌发布了 ...
- 【tensorflow】生成.pb文件
Saving, Freezing, Optimizing for inference, Restoring of tensorflow models 在训练完tensorflow模型后,会有三个文件: ...
- tensorflow实战:由ckpt转成pb步骤的总结
最近真的项目很紧,996模式开启了多日,在完成项目一小步后,总算有时间进行一些梳理,也是对tensorflow有了更多的认识. 之前在学校实验室中,其实并不涉及太多tensorflow c++端的接口 ...
- TensorFlow 1.x 深度学习秘籍:6~10
原文:TensorFlow 1.x Deep Learning Cookbook 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自[ApacheCN 深度学习 译文集],采用译后编辑(MTP ...
- tensorflow 1.x Saver(保存与加载模型) 预测
20201231 tensorflow 1.X 模型保存 https://blog.csdn.net/qq_35290785/article/details/89646248 保存模型 saver=t ...
- tensorflow 1.0 学习:模型的保存与恢复(Saver)
将训练好的模型参数保存起来,以便以后进行验证或测试,这是我们经常要做的事情.tf里面提供模型保存的是tf.train.Saver()模块. 模型保存,先要创建一个Saver对象:如 saver=tf. ...
- 1、Tensorflow 之 saver与checkpoint
1.Tensorflow 模型文件 checkpoint model.ckpt-200.data-00000-of-00001 model.ckpt-200.index model.ckpt-200. ...
- tensorflow中用saver保存模型
我们在用tensorflow训练模型时,可能需要训练很长很长一段时间,为了方便下次使用,应该将模型保存起来.在sklearn中,我们可以使用pickle模块进行模型保存:而在tensorflow中 ...
- Tensorflow保存神经网络参数有妙招:Saver和Restore
摘要:这篇文章将讲解TensorFlow如何保存变量和神经网络参数,通过Saver保存神经网络,再通过Restore调用训练好的神经网络. 本文分享自华为云社区<[Python人工智能] 十一. ...
最新文章
- docker build 没有网络 执行dockerfile中yum报错 curl#6 - “Could not resolve host: mirrorlist.centos.org 解决方法
- 卡巴斯基实用技巧推荐(卡巴斯基使用者必看)
- PP生产订单的BADI增强 WORKORDER_UPDATE
- Oracle常见操作汇总(转)
- 使用Apache Storm和Apache Ignite进行复杂的事件处理(CEP)
- 机器人教育发展_得于人工智能发展,机器人教育低龄化越来越普及
- 汶川地震《生死不离》歌词
- ssh mysql视屏_ssh+mysql实现的Java web在线订电影票系统项目源码附带视频指导教程...
- python之路_面向对象
- 前端图片放大缩小/比例自适应/打码/码大小可调整
- 软件测试经典面试题之二
- 解决everything只能搜索C盘的问题
- go语言 func函数
- 地鼠宝宝的轶事奇闻之线程模型
- App推送推了10万打开100?3招提高消息推送(Push)到达率
- 《多元统计分析》学习笔记之多元正态分布
- 【大题整理】操作系统
- 洛谷P4113 [HEOI2012]采花 题解
- 2008服务器注销设置,windows-server-2008 – 终端服务器在5分钟后注销用户
- Vue-----Vue本地应用篇(2)
热门文章
- 神话情话(神雕侠侣主题曲)铃声 神话情话(神雕侠侣主题曲)手机...
- 广义SAM(SAM套trie)
- 为您详解在ChemDraw中进行3D建模的方法
- Linux C++ 获取文件夹大小2(通过ftw实现)
- 不仅国产手机被撕下遮羞布,其实苹果和三星也已没了遮羞布
- iOS对sqlite3进行封装
- 2019-3-8-win10-uwp-一张图说明水平对齐和垂直对齐
- spring框架 -- IOC
- ibm入职测试题太难了_IBM面试的IQ测试题
- Jackson Json 快速入门