Python 带有图像标签的Tensorflow加载图像数据集

Python 带有图像标签的Tensorflow加载图像数据集,python,tensorflow,tensorflow-datasets,Python,Tensorflow,Tensorflow Datasets,我试图找到一种简单的方法,将数据放入TensorFlow数据集中,而不必在加载之前将其作为NumPy数组进行处理 在本例中,我正在处理一个分割模型,我的数据是结构化的,因此一个目录有训练数据图像,另一个目录有“掩码”,本质上也是图像 使用目录中的tf.keras.preprocessing.image\u dataset\u,我可以加载一个图像数据集,它可以将标签设置为目录的名称,或者让我自己通过函数参数进行设置,但它不允许我设置参数,因此它从不同的目录获取标签。我正在阅读文档,但我看不到加载这

我试图找到一种简单的方法,将数据放入TensorFlow数据集中,而不必在加载之前将其作为NumPy数组进行处理

在本例中,我正在处理一个分割模型,我的数据是结构化的,因此一个目录有训练数据图像,另一个目录有“掩码”,本质上也是图像


使用目录中的
tf.keras.preprocessing.image\u dataset\u
,我可以加载一个图像数据集,它可以将标签设置为目录的名称,或者让我自己通过函数参数进行设置,但它不允许我设置参数,因此它从不同的目录获取标签。我正在阅读文档,但我看不到加载这些类型的数据集的简单方法,因为标签本身就是图像。

这是在Keras中实现这一点的一种可能方法:

train_generator_images = image_data_generator_train.flow_from_dataframe(
    dataframe=train,
    directory='..//VOCdevkit/VOC2009/JPEGImages',
    x_col='filename',
    class_mode=None,
    color_mode="rgb",
    target_size=(image_size[1],image_size[0]),
    batch_size=batchSize,
    seed=seed)

train_generator_mask = mask_data_generator_train.flow_from_dataframe(
    dataframe=train,
    directory='..//VOCdevkit/VOC2009/SegmentationClass',
    x_col='segmentation',
    class_mode=None,
    color_mode="grayscale",
    target_size=(image_size[1],image_size[0]),
    batch_size=batchSize,
    seed=seed)

train_generator = zip(train_generator_images, train_generator_mask)
这里重要的是设置相同的种子,以便图像和标签匹配。 我从我的一个老项目中复制了它,所以它可能不是最新的