20

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

x_i = batch_xs[0]
image = tf.reshape(x_i,[28,28])

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

4

6 回答 6

15

阅读教程后,您可以在 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 或任何您喜欢的可视化工具。

于 2016-07-11T13:45:32.563 回答
12
X = X.reshape([28, 28]);
plt.gray()
plt.imshow(X)

这行得通。

于 2017-08-20T07:06:41.623 回答
3

在 MNIST for ML 初学者教程中的代码之上,您可以可视化 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()

在此处输入图像描述

于 2017-12-21T14:25:49.827 回答
1

在张量流 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')
于 2019-10-09T01:01:27.073 回答
1

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

def displayMNIST(imageAsArray):
    imageAsArray = imageAsArray.reshape(28, 28);
    plt.imshow(imageAsArray, cmap='gray')
    plt.show()
于 2018-12-03T22:45:24.080 回答
0

我们可以subplots使用matplotlib.pyplot

 # plotting the first 9 images in the train set of MNIST
 fig , axs = plt.subplots(3, 3)
 cnt = 0
 for i in range(3):
     for j in range(3):
         axs[i, j].imshow(X_train[cnt])
         cnt += 1
于 2021-11-10T11:12:52.087 回答