我正在运行示例MNIST手写数字教程。
如何使用第一个测试的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.]
回答:
嗯,图像(mnist.train.images
)是784 = 28 x 28
维度的向量。你要找的是标签(mnist.test.labels
),它们确实是10
维度的:
In [29]: mnist.test.labels[0]Out[29]: array([ 0., 0., 0., 0., 0., 0., 0., 1., 0., 0.])
顺便说一下,这些数组只是普通的numpy数组,你不需要使用tf会话来打印它们。