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实现问号表达式(?)的方法
Nov 27 Python
用Python实现通过哈希算法检测图片重复的教程
Apr 02 Python
python实现批量改文件名称的方法
May 25 Python
python中lambda()的用法
Nov 16 Python
详细分析python3的reduce函数
Dec 05 Python
python实现向微信用户发送每日一句 python实现微信聊天机器人
Mar 27 Python
python覆盖写入,追加写入的实例
Jun 26 Python
Python 使用 docopt 解析json参数文件过程讲解
Aug 13 Python
django 链接多个数据库 并使用原生sql实现
Mar 28 Python
python统计mysql数据量变化并调用接口告警的示例代码
Sep 21 Python
python 获取剪切板内容的两种方法
Nov 28 Python
通过Python把学姐照片做成拼图游戏
Feb 15 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 咖啡文化
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
PHP中执行cmd命令的方法
2014/10/11 PHP
php实现源代码加密的方法
2015/07/11 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
如何使用Javascript正则表达式来格式化XML内容
2013/07/04 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
JS用斜率判断鼠标进入DIV四个方向的方法
2016/11/07 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
JavaScript轮播图简单制作方法
2017/02/20 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
vue中SPA单页面应用程序详解
2017/11/07 Javascript
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
Django密码系统实现过程详解
2019/07/19 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
python爬虫实现获取下一页代码
2020/03/13 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
python实现双人五子棋(终端版)
2020/12/30 Python
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
银行领导证婚词
2014/01/11 职场文书
文秘求职信范文
2014/04/10 职场文书
兴趣小组活动总结
2014/05/05 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
团队拓展活动方案
2014/08/28 职场文书
2015关于重阳节的演讲稿
2015/03/20 职场文书
超市员工管理制度
2015/08/06 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书