如何从Keras中的图像批处理数据集中输出图像

时间:2020-09-04 02:27:06

标签: python tensorflow keras

使用来自keras的image_dataset_from_directory创建图像数据集后,如何从数据集中以numpy格式获取第一张图像,可以使用pyplot.imshow显示该图像?

import tensorflow as tf
import matplotlib.pyplot as plt

test_data = tf.keras.preprocessing.image_dataset_from_directory(
    "C:\\Users\\Admin\\Downloads\\kagglecatsanddogs_3367a",
    validation_split=.1,
    subset='validation',
    seed=123)
for e in test_data.as_numpy_iterator():
    print(e[1:])

1 个答案:

答案 0 :(得分:1)

在上面的代码中e不是图像,而是包含图像和标签的元组。
代码:

plt.figure(figsize=(10, 10))
class_names = test_data.class_names
for images, labels in test_data.take(1):
    for i in range(32):
        ax = plt.subplot(6, 6, i + 1)
        plt.imshow(images[i].numpy().astype("uint8"))
        plt.title(class_names[labels[i]])
        plt.axis("off")

您可以使用test_data.take(1)从test_data中获取单个批处理并将其可视化。

您的输出将如下所示: enter image description here