Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6409743
  • 博文数量: 506
  • 博客积分: 12019
  • 博客等级: 上将
  • 技术积分: 6806
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-01 16:46
文章分类

全部博文(506)

文章存档

2021年(3)

2020年(59)

2019年(4)

2018年(10)

2017年(5)

2016年(2)

2015年(4)

2014年(4)

2013年(16)

2012年(47)

2011年(65)

2010年(46)

2009年(34)

2008年(52)

2007年(52)

2006年(80)

2005年(22)

分类: Python/Ruby

2020-04-13 11:27:49

一、tf.train.Saver()
(1). tf.train.Saver() 是用来保存tensorflow训练模型的,默认保存全部参数
(2). 用来加载参数,   
        
:只加载存储在data中的权重和偏置项等需要训练的参数,其他一律不加载,
包括meta文件中的图

模型文件:

.ckpt文件:是旧版本的输出saver.save(sess),相当于你的.ckpt-data
“checkpoint”:文件仅用于告知某些TF函数,这是最新的检查点文件。
.ckpt-meta:包含元图,即计算图的结构,没有变量的值(基本上你可以在tensorboard / graph中看到)。
.ckpt-data:包含所有变量的值,没有结构。
.ckpt-index:可能是内部需要的某种索引来正确映射前两个文件,它通常不是必需的

二、tf.train.import_meta_graph(".meta文件")
加载计算图。一般用不到,有时候,想重复使用前面的计算或者代码,可调用import_meta_graph来复用。经常使用恢复参数即可。


注意无论是参数变量还是计算图 都调用save保存。

参考下面列子

点击(此处)折叠或打开

  1. # 连同图结构一同加载
  2. ckpt = tf.train.get_checkpoint_state('./model/')
  3. saver = tf.train.import_meta_graph(ckpt.model_checkpoint_path +'.meta')
  4. with tf.Session() as sess:
  5.  saver.restore(sess,ckpt.model_checkpoint_path)
  6.      
  7. # 只加载数据,不加载图结构,可以在新图中改变batch_size等的值
  8. # 不过需要注意,Saver对象实例化之前需要定义好新的图结构,否则会报错
  9. saver = tf.train.Saver()
  10. with tf.Session() as sess:
  11.  ckpt = tf.train.get_checkpoint_state('./model/')
  12.  saver.restore(sess,ckpt.model_checkpoint_path)



阅读(1306) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~