我使用图像创建了一个数据集:
import tensorflow as tf
import matplotlib.pyplot as plt
import numpy as np
dataset = tf.keras.preprocessing.image_dataset_from_directory(
<directory>,
label_mode=None,
seed=1,
subset='training',
validation_split=0.1,
image_size=(900, 900))
images = next(iter(dataset))
print(tf.shape(images))
我得到输出: 找到属于1个类的209个文件。 使用189个文件进行培训。 tf.张量([329003],shape=(4,),dtype=int32)
现在,我想看一幅带有以下内容的图像:
plt.imshow(images[19])
plt.show()
作为输出,我得到: 使用RGB数据将输入数据剪裁到imshow的有效范围([0..1]表示浮点数,[0..255]表示整数)
以及作为输出的纯白色图像
我确信加载到数据集中的图像不是纯白色的。有人能帮我吗
您的
dataset
是一个tf.data.Dataset
,因此您可以使用此可视化功能。 https://www.tensorflow.org/datasets/api_docs/python/tfds/visualization/show_examples以这种方式实施:
将它们转移到numpy,并转换到uint8。 这是我用来检查输入和输出的函数,我使用32的批量大小,但只打印其中的8个
要从数据集调用此
不是对你的问题的直接回答,但franky我更喜欢使用来自目录的ImageDataGenerator.flow_,它允许你重新缩放图像,增强图像,并且生成器的输出易于使用。文档为here.对于您的应用程序,代码为:
相关问题 更多 >
编程相关推荐