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 的 Socket 编程
Mar 24 Python
Python实现队列的方法
May 26 Python
Python 使用os.remove删除文件夹时报错的解决方法
Jan 13 Python
Python任意字符串转16, 32, 64进制的方法
Jun 12 Python
python 使用plt画图,去除图片四周的白边方法
Jul 09 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
django表单的Widgets使用详解
Jul 22 Python
Django RBAC权限管理设计过程详解
Aug 06 Python
Python更换pip源方法过程解析
May 19 Python
关于Theano和Tensorflow多GPU使用问题
Jun 19 Python
python实现文件+参数发送request的实例代码
Jan 05 Python
python中super()函数的理解与基本使用
Aug 30 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下将多个数组合并成一个数组的方法与实例代码
2011/02/03 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
将string解析为json的几种方式小结
2010/11/11 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
checkbox在vue中的用法小结
2018/11/13 Javascript
基于JS实现操作成功之后自动跳转页面
2020/09/25 Javascript
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Python的动态重新封装的教程
2015/04/11 Python
Python脚本判断 Linux 是否运行在虚拟机上
2015/04/25 Python
在Django框架中运行Python应用全攻略
2015/07/17 Python
python3实现UDP协议的服务器和客户端
2017/06/14 Python
pandas apply 函数 实现多进程的示例讲解
2018/04/20 Python
python检测文件夹变化,并拷贝有更新的文件到对应目录的方法
2018/10/17 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
Mountain Warehouse德国官网:英国户外零售商
2019/08/11 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
学习保证书范文
2014/04/30 职场文书
公共场所禁烟标语
2014/06/25 职场文书
设备收款委托书范本
2014/10/02 职场文书
党员自我评价2015
2015/03/03 职场文书
2015年世界环境日演讲稿
2015/03/18 职场文书
离婚案件上诉状
2015/05/23 职场文书
信用卡工资证明范本
2015/06/19 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers