tensorflow从.meta文件中导出图结构

网页中给出了如何保存模型以及,从现有模型中直接加载已经持久化的图。但是博主在尝试使用该解决方案直接加载已经持久化的图而不必重新定义图的结构,进行predict时,源代码如下:

import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)
import tensorflow as tf

saver = tf.train.import_meta_graph("exp_seven_model_savepath/.meta")
with tf.Session() as sess:
  saver.restore(sess, "exp_seven_model_savepath/")
  print("start")
  batch = mnist.train.next_batch(50)
  print (sess.run(accuracy,feed_dict = {x:batch[0],y_:batch[1],keep_prob: 0.5}))
  print("end")
结果发现,根本做不到:


从已有的图模型中没有操作accuracy的定义:


细想以后发现,accuary不是参数变量,也不是图结构的一部分,只是施加于该图的输出结果上的一个操作而已,在保存模型时,应该是没有保存的,这下就GG了,如果tensorflow的版本到现在还不支持的话,利用.meta文件加载图结构压根没有什么用,很多博客中介绍该方法时都知识以导出图以后再从图中导出某个变量的值,不能实施operation,导出变量以后还要将这些operation重新定义一遍,真的是很麻烦。

然而,博主使用bing国际版用英文检索到了解决方案



猜你喜欢

转载自blog.csdn.net/little_kid_pea/article/details/79203553