tensorflow实现训练变量checkpoint的保存与读取


Posted in Python onFebruary 10, 2020

1.保存变量

先创建(在tf.Session()之前)saver

saver = tf.train.Saver(tf.global_variables(),max_to_keep=1)  #max_to_keep这个保证只保存最后一次training的训练数据

然后在训练的循环里面

checkpoint_path = os.path.join(Path, 'model.ckpt') saver.save(session, checkpoint_path, global_step=step) #这里的step是循环训练的次数,也就是第几次迭代

以下保存的变量文件

tensorflow实现训练变量checkpoint的保存与读取

2.变量读取

1.若要直接恢复所有变量可以

saver = tf.train.Saver(tf.global_variables())
moudke_file=tf.train.latest_checkpoint('PATH')
saver.restore(sess,moudke_file)

PATH是存放保存变量的路径,会自动找到最近保存的变量文件

2 若想读取其中一部分变量值

def read_checkpoint():
  w = []
  checkpoint_path = '/home/ximao/models/resnet3/variable_logs/model.ckpt-17000'
  reader = tf.train.NewCheckpointReader(checkpoint_path)
  var = reader.get_variable_to_shape_map()
  for key in var:
    if 'weights' in key and 'conv' in key and 'Mo' not in key:
      print('tensorname:', key)
  #   # print(reader.get_tensor(key))

3. 若想恢复其中一部分变量值到新网络

(1)首先你要先获取你想要赋值新网络变量的变量名,这里变量名不是一个字符串,而是<name,shape,dtype>这样的一个结构,

然后把你要赋值的元素转为张量,最后把值赋给你得到变量名 如下:

var=[v for v in weight_pruned if v.op.name=='WRN/conv1/weights']
conv1_temp=tf.convert_to_tensor(conv1,dtype=tf.float32)
sess.run(tf.assign(var[0],conv1_temp))

weight_pruned 存放的是你新网络中所有的变量

以上这篇tensorflow实现训练变量checkpoint的保存与读取就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Windows8上的搭建Python和Django环境
Jul 03 Python
python基于windows平台锁定键盘输入的方法
Mar 05 Python
Python两个整数相除得到浮点数值的方法
Mar 18 Python
Python中的两个内置模块介绍
Apr 05 Python
Python实现字符串格式化的方法小结
Feb 20 Python
python实现基于SVM手写数字识别功能
May 27 Python
python中(str,list,tuple)基础知识汇总
Feb 20 Python
python输入整条数据分割存入数组的方法
Nov 13 Python
python3使用QQ邮箱发送邮件
May 20 Python
Django 响应数据response的返回源码详解
Aug 06 Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 Python
python 读取串口数据的示例
Nov 09 Python
Python单元测试模块doctest的具体使用
Feb 10 #Python
简单了解django文件下载方式
Feb 10 #Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
Feb 10 #Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
Feb 10 #Python
解决tensorflow添加ptb库的问题
Feb 10 #Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 #Python
python如何实现单链表的反转
Feb 10 #Python
You might like
浅析php中抽象类和接口的概念以及区别
2013/06/27 PHP
php微信公众号开发之校园图书馆
2018/10/20 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.3
2008/03/22 Javascript
Javascript 的addEventListener()及attachEvent()区别分析
2009/05/21 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
2010/05/14 Javascript
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
JS时间选择器 兼容IE6,7,8,9
2012/06/26 Javascript
JS截取url中问号后面参数的值信息
2014/04/29 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
jQuery判断数组是否包含了指定的元素
2015/03/10 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
Web前端框架Angular4.0.0 正式版发布
2017/03/28 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
2018/05/04 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
vue实现学生信息管理系统
2020/05/30 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
Python import自定义模块方法
2015/02/12 Python
Python 数据结构之队列的实现
2017/01/22 Python
使用python获取csv文本的某行或某列数据的实例
2018/04/03 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
python 实现倒计时功能(gui界面)
2020/11/11 Python
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
印度最大的时尚购物网站:Myntra
2018/09/13 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
物流仓储计划书
2014/01/10 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
应届大学生自荐书
2014/06/17 职场文书
《蜜蜂引路》教学反思
2016/02/22 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书