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 cookbook(数据结构与算法)对切片命名清除索引的方法
Mar 13 Python
python保存数据到本地文件的方法
Jun 23 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
Python异常处理知识点总结
Feb 18 Python
python mysql断开重连的实现方法
Jul 26 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
python实现图片横向和纵向拼接
Mar 05 Python
200行python代码实现贪吃蛇游戏
Apr 24 Python
使用Python实现批量ping操作方法
May 06 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
Jun 23 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
生成缩略图
2006/10/09 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
PHP实现的购物车类实例
2015/06/17 PHP
Zend Framework教程之路由功能Zend_Controller_Router详解
2016/03/07 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
php curl 模拟登录并获取数据实例详解
2016/12/22 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
图片之间的切换
2006/06/26 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
JS实现方向键切换输入框焦点的方法
2015/08/19 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
JQueryEasyUI框架下的combobox的取值和绑定的方法
2017/01/22 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
2019/09/06 Javascript
vue路由切换之淡入淡出的简单实现
2019/10/31 Javascript
JS如何生成随机验证码
2020/03/02 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
Python编程中的反模式实例分析
2014/12/08 Python
Python实现提取文章摘要的方法
2015/04/21 Python
python简单图片操作:打开\显示\保存图像方法介绍
2017/11/23 Python
python实现蒙特卡罗方法教程
2019/01/28 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
详解Django CAS 解决方案
2019/10/30 Python
Python 列表反转显示的四种方法
2020/11/16 Python
python+opencv实现车道线检测
2021/02/19 Python
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
FC-Moto瑞典:欧洲最大的摩托车服装和头盔商店之一
2018/11/27 全球购物
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
中学教师管理制度
2014/01/14 职场文书
真诚的求职信
2014/07/04 职场文书
关于十八大的演讲稿
2014/09/15 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
闪闪红星观后感
2015/06/08 职场文书
幼儿园大班教师评语
2019/06/21 职场文书