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版的文曲星猜数字游戏代码
Sep 02 Python
Python中type的构造函数参数含义说明
Jun 21 Python
Python实现批量转换文件编码的方法
Jul 28 Python
Python enumerate索引迭代代码解析
Jan 19 Python
python pands实现execl转csv 并修改csv指定列的方法
Dec 12 Python
总结python中pass的作用
Feb 27 Python
Python实现微信消息防撤回功能的实例代码
Apr 29 Python
PyTorch中topk函数的用法详解
Jan 02 Python
浅谈pytorch中的BN层的注意事项
Jun 23 Python
python实现在列表中查找某个元素的下标示例
Nov 16 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
Python的flask接收前台的ajax的post数据和get数据的方法
Apr 12 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
要会喝咖啡也要会知道咖啡豆
2021/03/03 咖啡文化
基于mysql的论坛(6)
2006/10/09 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
js变量以及其作用域详解
2020/07/18 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
javascript的BOM
2016/05/03 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
Vue v2.5 调整和更新不完全问题
2017/10/24 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
微信小程序实现联动选择器
2019/02/15 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
Python简单I/O操作示例
2019/03/18 Python
Python3.0中普通方法、类方法和静态方法的比较
2019/05/03 Python
python验证身份证信息实例代码
2019/05/06 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
跟单业务员岗位职责
2014/03/08 职场文书
高一学生评语大全
2014/04/25 职场文书
三严三实对照检查材料
2014/09/22 职场文书
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
Golang 正则匹配效率详解
2021/04/25 Golang
Python借助with语句实现代码段只执行有限次
2022/03/23 Python