0

Ich implementierte ein logistisches Regressionsmodell mit TensorFlow und dem mnist Datensatz. Ich herausfinden, wie die Gesamtgenauigkeit des Lernalgorithmus erhalten mit dem folgenden Code ...TensorFlow erhalten Genauigkeit einer einzelnen Vorhersage

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

Dies funktioniert gut, und eine Genauigkeit von 91% drucken. Jetzt stelle ich das Modell wieder her und gebe ein einzelnes Bild in das Modell ein, um eine Vorhersage zu treffen. Ich gehe ein Bild von einer Reihe 7, mnist.test.images[0], und es sagt es richtig ->[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) 

Jetzt habe ich für die Richtigkeit dieser Vorhersage in Bezug auf das Modell zu bekommen, aber ich bin nicht sicher, wie es weitergehen, ich folgendes versucht, die offensichtlich nicht ... funktioniert

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

der Ausgang dieses Accuracy: 7.0

Wenn eine einfache Antwort nicht möglich ist, würde ich einige Schritte erforderlich, um schätzen, was erreichen Ich will.

+0

Leider habe ich nicht wirklich bekommen, was Sie tun wollen. Was meinst du mit "Genauigkeit dieser Vorhersage in Bezug auf das Modell". – rAyyy

Antwort

0

Die Genauigkeit einer einzelnen Vorhersage ist nicht sehr sinnvoll.

Sie erhalten entweder 0% oder 100%.

Sie können aber nach wie vor die Genauigkeit Betrieb verwenden, die Sie in Ihrem Diagramm erstellen:

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