0

我使用TensorFlow和mnist數據集實施了邏輯迴歸模型。我弄清楚如何使用下面的代碼獲得學習算法的總準確度...TensorFlow獲得單一預測的準確性

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

對不起,我沒有得到你真正想要做的事情。 「這個預測與模型相關的準確性」是什麼意思? – rAyyy

回答

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}))