【问题标题】:TensorFlow get accuracy of a single predictionTensorFlow 获得单个预测的准确性
【发布时间】:2017-08-07 03:07:54
【问题描述】:

我使用 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

如果无法获得直截了当的答案,我将不胜感激需要一些步骤来实现我想要的。

【问题讨论】:

  • 对不起,我没有真正得到你想要做的事情。您所说的“此预测相对于模型的准确性”是什么意思。

标签: python-3.x machine-learning tensorflow logistic-regression mnist


【解决方案1】:

单个预测的准确性没有多大意义。

您将获得 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}))

【讨论】:

    猜你喜欢
    • 2018-04-12
    • 2021-10-18
    • 2017-06-25
    • 2015-11-21
    • 2018-10-18
    • 2016-06-03
    • 2017-12-20
    • 2021-09-27
    相关资源
    最近更新 更多