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 相关文章推荐
python如何为被装饰的函数保留元数据
Mar 21 Python
Python continue继续循环用法总结
Jun 10 Python
python实现flappy bird小游戏
Dec 24 Python
学习python的前途 python挣钱
Feb 27 Python
详解Python:面向对象编程
Apr 10 Python
python Django的web开发实例(入门)
Jul 31 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
Aug 27 Python
python实现身份证实名认证的方法实例
Nov 08 Python
Python 解码Base64 得到码流格式文本实例
Jan 09 Python
Python Websocket服务端通信的使用示例
Feb 25 Python
Python SMTP配置参数并发送邮件
Jun 16 Python
Python基于Opencv识别两张相似图片
Apr 25 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
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
js 文本滚动效果的实例代码
2013/08/17 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
2014/05/08 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
2014/05/27 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
javascript精确统计网站访问量实例代码
2015/12/19 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
JavaScript数据推送Comet技术详解
2016/04/07 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
使用mock.js随机数据和使用express输出json接口的实现方法
2018/01/07 Javascript
Vue中使用ElementUI使用第三方图标库iconfont的示例
2018/10/11 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
HTML5的标签的代码的简单介绍 HTML5标签的简介
2012/05/28 HTML / CSS
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
苹果台湾官网:Apple台湾
2019/01/05 全球购物
一年级小学生评语大全
2014/12/25 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
班主任培训研修日志
2015/11/13 职场文书
2016年六一文艺汇演开幕词
2016/03/04 职场文书
CentOS MySql8 远程连接实战
2022/04/19 MySQL
索尼ICF-5900W收音机测评
2022/04/24 无线电