我正在尝试查看用于机器学习的MNIST数据集。在Tensorflow中,可以使用
导入MNIST数据集mnist = input_data.read_data_sets("/tmp/data/", one_hot=True)
full_data_x = mnist.train.images
但是,当我尝试使用可视化80x80数据数组时
test_x, test_y = mnist.test.images, mnist.test.labels
plt.gray()
plt.imshow(1-test_x[80:160,80:160])
看起来真的很奇怪:
如何提取实际手写数字的图像,就像互联网上显示的那样:
我看到了类似的问题,例如this。但是,我尤其对训练数据数组中的 where 感兴趣,这些图像实际上是隐藏的。我知道张量流模块提供了显示图像的功能。
答案 0 :(得分:1)
我想我现在已经理解了您的问题,与我认为重复的问题有些不同。
图像不一定是隐藏的。该列表的每个索引本身就是一张图片:
num_test_images, num_train_images = len(mnist.test.images), len(mnist.train.images)
size_of_first_test_image, size_of_first_train_image = len(mnist.test.images[0]), len(mnist.train.images[0])
print num_test_images, num_train_images
print size_of_first_test_image, size_of_first_train_image
输出:
10000 55000
784 784
您可以看到训练和测试图像的数量是每个mnist列表的长度。每个图像都是大小为784的平面阵列。您必须自己重塑形状以使用numpy或类似的东西进行显示。
尝试一下:
first_test_image = np.array(mnist.test.images[0], dtype='float')
reshaped_image = first_image.reshape((28, 28))