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 14 Python
python实现简单的socket server实例
Apr 29 Python
python使用jieba实现中文分词去停用词方法示例
Mar 11 Python
Python基于pandas实现json格式转换成dataframe的方法
Jun 22 Python
对python中数组的del,remove,pop区别详解
Nov 07 Python
Python简单实现区域生长方式
Jan 16 Python
使用Python操作ArangoDB的方法步骤
Feb 02 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
Django分组聚合查询实例分享
Apr 29 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
Jun 11 Python
python 将html转换为pdf的几种方法
Dec 29 Python
手把手教你实现PyTorch的MNIST数据集
Jun 28 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加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
PHP判断文章里是否有图片的简单方法
2014/07/26 PHP
PHP处理会话函数大总结
2015/08/05 PHP
Laravel框架实现的上传图片到七牛功能详解
2019/09/06 PHP
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
使用Jquery打造最佳用户体验的登录页面的实现代码
2011/07/08 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
使用jquery组件qrcode生成二维码及应用指南
2015/02/22 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
ajax与json 获取数据并在前台使用简单实例
2017/01/19 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
js实现时间轴自动排列效果
2017/03/09 Javascript
C#微信小程序服务端获取用户解密信息实例代码
2017/03/10 Javascript
node.js 抓取代理ip实例代码
2017/04/30 Javascript
jquery实现图片跟随鼠标的实例
2017/10/17 jQuery
webpack打包非模块化js的方法
2018/10/24 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
JavaScript进阶(二)词法作用域与作用域链实例分析
2020/05/09 Javascript
Python实现的概率分布运算操作示例
2017/08/14 Python
python 以16进制打印输出的方法
2018/07/09 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
大二学期个人自我评价
2014/01/13 职场文书
前处理班长职位说明书
2014/03/01 职场文书
机电专业毕业生求职信
2014/07/01 职场文书
平遥古城导游词
2015/02/03 职场文书
歌咏比赛口号大全
2015/12/25 职场文书
员工安全责任协议书
2016/03/22 职场文书
JavaScript 数组去重详解
2021/09/15 Javascript