TensorFlow - 显示来自MNIST DataSet的图像

时间:2016-07-11 13:35:06

标签: python image tensorflow mnist

我正在尝试学习TensorFlow,我从以下链接实现了MNIST示例:http://openmachin.es/blog/tensorflow-mnist 我希望能够实际查看训练/测试图像。 所以我正在尝试添加代码,以显示第一批的第一张火车图片:

ANSI_X3.4-1968

现在,因为数据是float32类型(值在[0,1]范围内),我试图将其转换为uint16,然后将其编码为png以显示图像。 我尝试使用x_i = batch_xs[0] image = tf.reshape(x_i,[28,28]) ,但没有成功。 你能帮助我了解如何将原始数据转换为图像并显示图像?

5 个答案:

答案 0 :(得分:10)

阅读完本教程后,您可以在numpy中完成所有操作,无需TF:

import matplotlib.pyplot as plt
first_array=batch_xs[0]
#Not sure you even have to do that if you just want to visualize it
#first_array=255*first_array
#first_array=first_array.astype("uint8")
plt.imshow(first_array)
#Actually displaying the plot if you are not in interactive mode
plt.show()
#Saving plot
plt.savefig("fig.png")

您还可以使用PIL或您使用的任何可视化工具。

答案 1 :(得分:9)

X = X.reshape([28, 28]);
plt.gray()
plt.imshow(X)

这有效。

答案 2 :(得分:0)

在ML初学者教程MNIST中的代码之上,您可以在mnist数据集中可视化图像:

import matplotlib.pyplot as plt
batch = mnist.train.next_batch(1)
plotData = batch[0]
plotData = plotData.reshape(28, 28)
plt.gray() # use this line if you don't want to see it in color
plt.imshow(plotData)
plt.show()

enter image description here

答案 3 :(得分:0)

将代表MNIST图像的numpy数组传递给下面的函数,它将使用matplotlib显示图形。

def displayMNIST(imageAsArray):
    imageAsArray = imageAsArray.reshape(28, 28);
    plt.imshow(imageAsArray, cmap='gray')
    plt.show()

答案 4 :(得分:0)

在Tensorflow 2.0中:

import matplotlib.pyplot as plt
import tensorflow as tf
mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()

plt.imshow(x_train[0], cmap='gray_r')