TensorFlow 获取单个预测的准确率

我使用TensorFlow和mnist数据集实现了一个逻辑回归模型。我通过以下代码计算了学习算法的总体准确率…

correct_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1))accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))print("Accuracy:", accuracy.eval({x: mnist.test.images, y: mnist.test.labels}))

这个方法运作良好,并且显示了91%的准确率。现在我正在恢复模型并将单个图像传递给模型进行预测。我传递了一个数字7的图片,mnist.test.images[0],模型正确预测为[7]

with tf.Session() as sess:    saver.restore(sess, "/tmp/model.ckpt")    x_in = np.expand_dims(mnist.test.images[0], axis=0)    classification = sess.run(tf.argmax(pred, 1), feed_dict={x:x_in})    print(classification)

现在我想获取这个预测相对于模型的准确率,但我不知道该怎么做,我尝试了以下方法,显然是行不通的…

 accuracy = tf.reduce_mean(tf.cast(classification, tf.float32)) print("Accuracy:", accuracy.eval({x: mnist.test.images, y: mnist.test.labels}))

输出的结果是Accuracy: 7.0

如果没有直接的答案,我希望能得到实现目标所需的步骤。


回答:

单个预测的准确率没有太大意义。

你将得到0%或100%的结果。

但是你仍然可以使用你在图中创建的准确率操作:

with tf.Session() as sess:    saver.restore(sess, "/tmp/model.ckpt")    x_in = np.expand_dims(mnist.test.images[0], axis=0)    y_in = np.expand_dims(mnist.test.labels[0], axis=0)    print("Accuracy:", accuracy.eval({x: x_in , y: y_in}))

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注