2017-02-20 2 views
1

Я реализовал логистическую регрессию, которая отлично работает. Он правильно печатает точность. Я показываю точность так ...Не удается распечатать правильные предсказания с использованием тензорного потока

# Test model 
correct_prediction = tf.equal(tf.argmax(pred, 1), tf.argmax(y, 1)) 
# Calculate accuracy 
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32)) 

print("Accuracy:", accuracy.eval({x: mnist.test.images, y: mnist.test.labels})) 

Как я уже говорил, это работает нормально. Однако, прочитав учебное пособие, я знаю, что correct_prediction должен быть массивом булевых, который говорит нам, являются ли наши прогнозы истинными. Я хочу напечатать это логическое значение, но я столкнулся с проблемами. Я попробовал следующее ...

print(correct_prediction) 
>>>Tensor("Equal:0", shape=(?,), dtype=bool) 

, а затем я попытался ...

print(sess.run(correct_prediction)) 
>>>InvalidArgumentError (see above for traceback): You must feed a value for placeholder tensor 'Placeholder' with dtype float 
[[Node: Placeholder = Placeholder[dtype=DT_FLOAT, shape=[], _device="/job:localhost/replica:0/task:0/cpu:0"]()]] 

Я совершенно новой для TensorFlow. Как распечатать эту переменную в виде массива предсказаний?

ответ

1

Вам по-прежнему необходимо подавать данные. Попробуйте:

print(correct_prediction.eval({x: mnist.test.images, y: mnist.test.labels})) 
Смежные вопросы