Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow KeyError:“;名称';预测/准确度/平均值:0';指不存在的张量……”;_Tensorflow_Mnist - Fatal编程技术网

Tensorflow KeyError:“;名称';预测/准确度/平均值:0';指不存在的张量……”;

Tensorflow KeyError:“;名称';预测/准确度/平均值:0';指不存在的张量……”;,tensorflow,mnist,Tensorflow,Mnist,我在ubuntu16.04上使用tensorflow1.4cpu版本。 我以前在mnist数据集上训练过一个convnet模型 现在我想再次访问该模型并预测mnist.test.images的准确性。我已成功加载模型: import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets('MNIST_data', one_hot=T

我在ubuntu16.04上使用tensorflow1.4cpu版本。 我以前在mnist数据集上训练过一个convnet模型

现在我想再次访问该模型并预测mnist.test.images的准确性。我已成功加载模型:

import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)
images = mnist.test.images[0:1000]
labels = mnist.test.labels[0:1000]
sess=tf.Session()

saver = tf.train.import_meta_graph('tradConv_mnistModel/tradConvMnist-
10000.meta')

saver.restore(sess,
tf.train.latest_checkpoint('./tradConv_mnistModel'))
graph = tf.get_default_graph()
在之前训练的图表中,我打印了精度的名称,即:

with tf.name_scope('predictions'):
  correct_prediction = tf.equal(
                       tf.argmax(y_conv, 1), tf.argmax(y_, 1))
  with tf.name_scope('accuracy'):
    accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
    print(accuracy.name)
     "predictions/accuracy/Mean:0"
但当我尝试使用新加载的图形评估精度时,我得到以下错误:

tensor_name = "predictions/accuracy/Mean:0"
accuracy = graph.get_tensor_by_name(tensor_name)

print("test accuracy %g"%accuracy.eval(feed_dict={
       x: images, y_: labels, keep_prob: 1.0}))

KeyError: "The name 'predictions/accuracy/Mean:0' refers to a Tensor 
which does not exist. The operation, 'predictions/accuracy/Mean', does 
not exist in the graph."
此外,我在保存的图形中打印了所有的张量_名称,事实上,该张量_名称并不存在


因此,我的问题是如何在重新加载后评估经过训练的模型a测试数据的准确性?

方法tf.train.Saver().restore有效。但是另一种方法
tf.train.import\u meta\u图('tradConv\u mnistModel/tradConvMnis‌​t-10000.meta)不起作用

方法tf.train.Saver().restore有效。但是另一种方法
tf.train.import\u meta\u图('tradConv\u mnistModel/tradConvMnis‌​t-10000.meta)不起作用

猜测:在添加精度操作之前是否保存了保存程序/元图?当元图被创建时,你能检查op是否存在于具有该名称的图中吗?嗨,我已经解决了这个问题。精度在保存程序之前定义,并保存在图形中,但不在图元文件中。我不知道graph和methgraph之间的区别。我也不知道如何检查名称是否是在元图中创建的。经过几次尝试后,我发现这个方法tf.train.import\u meta\u graph('tradConv\u mnistModel/tradConvMnist-10000.meta')根本不起作用。但是tf.train.Saver()恢复工作!我用它解决了这个问题。猜猜:在添加精度运算之前是否保存了保存程序/元图?当元图被创建时,你能检查op是否存在于具有该名称的图中吗?嗨,我已经解决了这个问题。精度在保存程序之前定义,并保存在图形中,但不在图元文件中。我不知道graph和methgraph之间的区别。我也不知道如何检查名称是否是在元图中创建的。经过几次尝试后,我发现这个方法tf.train.import\u meta\u graph('tradConv\u mnistModel/tradConvMnist-10000.meta')根本不起作用。但是tf.train.Saver()恢复工作!我用它解决了这个问题,我也有同样的问题。您是否最终删除了语句“saver=tf.train.import\u meta\u graph('tradConv\u mnistModel/tradConvMnist-10000.meta')并将其替换为“tf.train.saver().restore”?您在哪里指定了文件路径?文件名中是否包含.meta扩展名?我也有同样的问题。您是否最终删除了语句“saver=tf.train.import\u meta\u graph('tradConv\u mnistModel/tradConvMnist-10000.meta')并将其替换为“tf.train.saver().restore”?您在哪里指定了文件路径?文件名中是否包含.meta扩展名?德克萨斯州