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 3中实现类型检查器的简单方法
Jul 03 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
Jun 23 Python
K-means聚类算法介绍与利用python实现的代码示例
Nov 13 Python
python使用pipeline批量读写redis的方法
Feb 18 Python
jupyter notebook 中输出pyecharts图实例
Apr 23 Python
Python实现Singleton模式的方式详解
Aug 08 Python
python集合常见运算案例解析
Oct 17 Python
Tensorflow限制CPU个数实例
Feb 06 Python
Python selenium抓取虎牙短视频代码实例
Mar 02 Python
Python如何在循环内使用list.remove()
Jun 01 Python
django rest framework 自定义返回方式
Jul 12 Python
Python内置数据结构列表与元组示例详解
Aug 04 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判断并删除空目录及空子目录的方法
2015/02/11 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
JS实现完全语义化的网页选项卡效果代码
2015/09/15 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
jQuery 获取遍历获取table中每一个tr中的第一个td的方法
2016/10/05 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
详解使用grunt完成requirejs的合并压缩和js文件的版本控制
2017/03/02 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
vue几个常用跨域处理方式介绍
2018/02/07 Javascript
Vue 菜单栏点击切换单个class(高亮)的方法
2018/08/22 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
js嵌套的数组扁平化:将多维数组变成一维数组以及push()与concat()区别的讲解
2019/01/19 Javascript
详解Nodejs get获取远程服务器接口数据
2019/03/26 NodeJs
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
Python实现感知机(PLA)算法
2017/12/20 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
Python之文字转图片方法
2018/05/10 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
PyTorch学习:动态图和静态图的例子
2020/01/06 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
军训自我鉴定
2013/12/14 职场文书
公务员培的训心得体会
2014/09/01 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
2015年新学期寄语
2015/02/26 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
Vue和Flask通信的实现
2021/05/19 Vue.js
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP