将一个输入应用于tensorflow会话并获得输出

时间:2016-11-24 15:10:24

标签: machine-learning tensorflow mnist

我正在运行示例MNIST handwritten numbers tutorial

如何使用第一个测试 MNIST图像激活会话,并希望获得预期输出

当我这样做时:

print(sess.run(tf.convert_to_tensor(mnist.test.images[0])))

我得到了一个长度为784的张量(猜测):

...
...
...
0.94901967  0.99607849  0.99607849  0.20392159  0.          0.          0.
0.          0.          0.          0.          0.          0.          0.
0.          0.          0.          0.          0.          0.          0.
0.          0.          0.          0.          0.          0.
0.47450984  0.99607849  0.99607849  0.8588236   0.15686275  0.          0.
0.          0.          0.          0.          0.          0.          0.
0.          0.          0.          0.          0.          0.          0.
0.          0.          0.          0.          0.          0.          0.
0.47450984  0.99607849  0.81176478  0.07058824  0.          0.          0.
0.          0.          0.          0.          0.          0.          0.
0.          0.          0.          0.          0.          0.          0.
0.          0.          0.          0.          0.          0.          0.
0.          0.          0.          0.          0.          0.          0.
0.          0.          0.          0.          0.          0.          0.
...
...
...

我的预期输出为7格式:

[ 0.  0.  0.  0.  0.  0.  0.  1.  0.  0.]

2 个答案:

答案 0 :(得分:2)

嗯,图像(Run > Validate debug Configuration)是mnist.train.images维矢量。你要找的是标签(784 = 28 x 28),它们确实是mnist.test.labels - 维度:

10

顺便说一句,这些数组只是常规的numpy数组,你不需要使用tf会话来打印它们。

答案 1 :(得分:0)

我认为你正在寻找预测,在这个阶段已存储到y:

y = tf.matmul(x, W) + b

它们是概率(感谢softmax),你必须采取最好的预测答案:

tf.argmax(y, 1)

在您的情况下,这应该为您提供第一张图像的预测:

tf.argmax(y[0],1)