持久化原理及数据格式整理
当使用save.save()时,TensorFlow程序会自动生成4个文件,这4个文件用来实现TensorFlow模型的持久化:
meta_info_def : 它记录了TensorFlow计算图中的元数据以及TensorFlwo程序中所有使用到的运算方法的信息
graph_def : 主要记录了TensorFlow计算图上的节点信息
saver_def : 记录了持久化模型时需要用到的一些参数,比如保存到文件的文件名,保存操作和加载操作的名称以及保存频率、 清理历史信息等等
collection_def : 属性是一个从集合名称到集合内容的映射,其中集合名称为字符串,集合内容为CollectionDef Protocol Buffer
然后具体操作一波
import tensorflow as tf
from tensorflow.python.framework import graph_util
v1 = tf.Variable(tf.constant(1.0, shape=[1]),name='v1')
v2 = tf.Variable(tf.constant(2.0,shape=[2]),name='v2')
result = v1+v2
init_op = tf.global_variables_initializer()
saver = tf.train.Saver()
with tf.Session() as sess:
sess.run(init_op)
saver.export_meta_graph("./model.ckpt.meda.json",as_text=True)
文件夹中粗现了一下文件
使用chrome打开,发现十几页的数据.... 先说一下只管感受吧,长度上graph_def>meta_info_def>saver_def=collection_def
奇怪的是colection_def出现了两次
结论:collection_def每个存的是集合信息,graph_def存的是节点信息, 包含v1/assign, const, v1/read, add, save/const等等节点, 并不仅仅包含图中所示的3个节点, meta_info_def会存有类似上面的信息,大概T类似于java模板类的一种东西, saver_def主要存有关于save相关的信息。
---------------------
作者:北逸
来源:CSDN
原文:https://blog.csdn.net/InFiNiTeemo/article/details/84931024
版权声明:本文为博主原创文章,转载请附上博文链接! |
|